This project integrates python-clamd with Django for easy scanning files for viruses on upload
Install
From PyPi with pip:
pip install django-clamd
or
easy_install django-clamd
You can also install development version direclty from GitHub:
pip install git+https://github.com/vstoykov/django-clamd.git
Aditioanlly if you want translations to work you need to add it to installed apps.
INSTALLED_APPS = (
...
'django_clamd',
...
)
Usage
You can use it in forms:
from django import forms
from django_clamd.validators import validate_file_infection
class UploadForm(forms.Form):
upload_file = forms.FileField(validators=[validate_file_infection])
Or you can add it as validator directly in your model:
from django.db import models
from django_clamd.validators import validate_file_infection
class FileModel(models.Model):
document = models.FileField(validators=[validate_file_infection])
You will have automatically scanning of upladed files in Django Admin and also when create ModelForm’s for that model.
Configuration
By default django-clamd tries to be smart and with good defaults.
You can still configure how to connect to Clamd. Default values are:
CLAMD_SOCKET = '/var/run/clamav/clamd.ctl'
CLAMD_USE_TCP = False
CLAMD_TCP_SOCKET = 3310
CLAMD_TCP_ADDR = '127.0.0.1'
Note: When you are running on Fedora or CentOS and clamav-scanner
package is installed then default value for CLAMD_SOCKET is:
CLAMD_SOCKET = '/var/run/clamd.scan/clamd.sock'
You also can disable virus scanning for development with:
CLAMD_ENABLED = False
Note: This is primary for make it easy to run a project on development without the need of installing Clamd on devlopment machine.
License
django-clamd is released as open-source software under the LGPL license.
Release files for django-clamd 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-clamd-0.3.0.tar.gz | 4.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_clamd-0.3.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 14.1 kB
Release files / django-clamd-0.3.0.tar.gz
| Download URL | django-clamd-0.3.0.tar.gz |
|---|---|
| Size | 4.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d77051dd298538aeb33d2c36d1fcb262f11a9328eb634427b6f41e3b549b596
|
|
BLAKE2b-256 checksum How to use checksums |
09eb2b2d5569a5fccd59bbf162e8b811e796c0d44254870c3b8d0197fe95a7c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / django_clamd-0.3.0-py2.py3-none-any.whl
| Download URL | django_clamd-0.3.0-py2.py3-none-any.whl |
|---|---|
| Size | 9.4 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
537f4ae7e909b4d65b10d3dbc9b23e826b679201ddcb2d227f0a729ce1d751fb
|
|
BLAKE2b-256 checksum How to use checksums |
39e2471df83e13191e45fe3b7b5d53b8a16d28071cfc07a8ca44d8f77bd234a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |