Scan uploaded file for viruses with clamav

 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()[1]
        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

  1. Generate newforms-admin admin.py file by NL 6 years, 2 months ago
  2. Upload a zip file with newforms by kylefox 7 years, 1 month ago
  3. Automatically trim newforms text fields by miracle2k 6 years, 7 months ago
  4. assign fields dynamically in newforms by rubic 7 years, 1 month ago
  5. DefaultValueWidget by miracle2k 6 years, 9 months ago

Comments

(Forgotten your password?)