Asyncio python clamav client
Project description
pyvalve
Asyncio python clamav client library
Usage Examples
Ping
pvs = await PyvalveNetwork()
response = await pvs.ping()
ClamAv will respond with "PONG"
Scanning
pvs = await PyvalveNetwork()
response = await pvs.scan(path)
Stream Scanning
from io import BytesIO
from aiofile import AIOFile
buffer = BytesIO()
async with AIOFile('some/file', 'r') as file_pointer:
line = await file_pointer.read_bytes()
buffer.write(line)
buffer.seek(0)
response = await pvs.instream(buffer)
Documentation
class Pyvalve()
Bases: object
Pyvalve base class
set_persistant_connection(persist)
Set persistent connection
-
Parameters
bool (persist) – persistent connection True/False
-
Return type
None
set_stream_buffer(length)
Set stream buffer
-
Parameters
int (length) – Desired stream buffer in bytes
-
Return type
None
async allmatchscan(path)
Send allmatchscan command
-
Parameters
str (path) – Path to file/directory to be scanned
-
Returns
Response from clamav
-
Return type
str
-
Raises
PyvalveScanningError – If path is not found
async contscan(path)
Send constscan command
-
Parameters
str (path) – Path to file/directory to be scanned
-
Returns
Response from clamav
-
Return type
str
-
Raises
PyvalveScanningError – If path is not found
async instream(buffer)
Send a stream to clamav
-
Parameters
buffer (BinaryIO) – a buffer object
-
Returns
Response from clamav
-
Return type
str
-
Raises
-
PyvalveConnectionError – If connection is broken
-
PyvalveStreamMaxLength – If stream size limit exceeded
-
async multiscan(path)
Send multiscan command
-
Parameters
str (path) – Path to file/directory to be scanned
-
Returns
Response from clamav
-
Return type
str
-
Raises
PyvalveScanningError – If path is not found
async ping()
Send ping command
-
Returns
Response from clamav
-
Return type
str
async reload()
Send reload command
-
Returns
Response from clamav
-
Return type
str
async scan(path)
Send scan command
-
Parameters
str (path) – Path to file/directory to be scanned
-
Returns
Response from clamav
-
Return type
str
-
Raises
PyvalveScanningError – If path is not found
async shutdown()
Send shutdown command
-
Returns
Response from clamav
-
Return type
str
async stats()
Send stats command
-
Returns
Response from clamav
-
Return type
str
async version()
Send version command
-
Returns
Response from clamav
-
Return type
str
class PyvalveNetwork(host='localhost', port=3310, timeout=None)
Bases: Pyvalve
Asyncio Clamd network client
async _init_(host='localhost', port=3310, timeout=None)
PyvalveNetwork Constructor
-
Parameters
-
str (host) – host address for clamav
-
int (timeout) – listening port for clamav
-
int – socket timemout
-
class PyvalveSocket(socket='/tmp/clamd.socket', timeout=None)
Bases: Pyvalve
Asyncio Clamd socket client
async _init_(socket='/tmp/clamd.socket', timeout=None)
PyvalveSocket Constructor
-
Parameters
-
str (socket) – Path to socket file
-
int (timeout) – socket timemout
-
Exceptions
exception PyvalveError()
Bases: Exception
Pyvalve exception base class
exception PyvalveConnectionError()
Bases: PyvalveError
Exception communicating with clamd
exception PyvalveResponseError()
Bases: PyvalveError
Exception processing response
exception PyvalveScanningError()
Bases: PyvalveError
Exception scanning. Could be path not found.
exception PyvalveStreamMaxLength()
Bases: PyvalveResponseError
Exception using INSTREAM with a buffer length > StreamMaxLength in /etc/clamav/clamd.conf
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file Pyvalve-0.1.3.tar.gz
.
File metadata
- Download URL: Pyvalve-0.1.3.tar.gz
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.15 CPython/3.10.4 Linux/5.18.10-76051810-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32200318a3918bba52a4b3c92b0749858b20e44339933e63a1d8109796fbe30c |
|
MD5 | 81923a7e3d7291ad6fe27abf9f6bcf7d |
|
BLAKE2b-256 | 571b06269d09e91c11cc248757f147b14978a977df726dc6bd06573b65043985 |
File details
Details for the file Pyvalve-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: Pyvalve-0.1.3-py3-none-any.whl
- Upload date:
- Size: 16.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.15 CPython/3.10.4 Linux/5.18.10-76051810-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4419319f78729655071e484f1ec7e3dabd0f33155594eac7a54c1257071ebb8a |
|
MD5 | 43555a36032305771cd977200b875bca |
|
BLAKE2b-256 | 985b7a35347da227d9d838703d07dc729e3c2ce73b8494ba333e19b3fc7d5872 |