- May 27, 2008
- newforms clamav virus virus-scan
- 4 (after 4 ratings)
A clean_<fieldname>() method in a form subclass as described here. Scans the field named file for viruses.
My version of python-clamav does not support scanning of buffers. That is why I go through the hassle of saving the file to a temporary one.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
def clean_file(self): file = self.cleaned_data.get('file', '') #check a file in form for viruses if file: from tempfile import mkstemp import pyclamav import os tmpfile = mkstemp() f = open(tmpfile, 'wb') f.write(file.content) f.close() isvirus, name = pyclamav.scanfile(tmpfile) os.unlink(tmpfile) if isvirus: raise forms.ValidationError( \ "WARNING! Virus \"%s\" was detected in this file. \ Check your system." % name) return file
More like this
- Generate newforms-admin admin.py file by NL 7 years, 9 months ago
- Upload a zip file with newforms by kylefox 8 years, 8 months ago
- Automatically trim newforms text fields by miracle2k 8 years, 2 months ago
- assign fields dynamically in newforms by rubic 8 years, 9 months ago
- DefaultValueWidget by miracle2k 8 years, 4 months ago