CORE connectors
Modul connectors.
Třídy
- class RedisConnector
Implementuje komponentu
RedisConnectorv rámci aplikace.Metody:
- _create_connection()
Vytvoří connection.
- Vrací:
Nově vytvořená hodnota připravená touto funkcí.
- _create_connection_decode()
Vytvoří connection decode.
- Vrací:
Nově vytvořená hodnota připravená touto funkcí.
- get_connection()
Vrací connection. v aplikaci.
- Vrací:
Načtená data odpovídající zadaným vstupům.
- get_connection_decode()
Vrací connection decode.
- Vrací:
Načtená data odpovídající zadaným vstupům.
- prepare_model_for_redis()
Provádí operaci prepare model for redis.
- Parametry:
table – Parametr
tablepracuje se s atributycolumns,rows.- Vrací:
Vrací proměnná
data.
- class ClamdError
Základní třída výjimek pro chyby clamd.
- class ClamdResponseError
Výjimka vyvolaná při neočekávané odpovědi od clamd.
- class ClamdBufferTooLongError
Výjimka vyvolaná při překročení délky bufferu nad StreamMaxLength v clamd.conf.
- class ClamdConnectionError
Výjimka vyvolaná při chybách komunikace s clamd.
- class ClamdNetworkSocket
Třída pro komunikaci s ClamAV démonem přes síťový socket.
Tato třída poskytuje metody pro skenování souborů na viry pomocí ClamAV démona naslouchajícího na TCP portu.
Metody:
- __init__()
Inicializace třídy.
Hodnoty host, port a timeout se načítají z nastavení aplikace.
- instream()
Skenuje buffer na přítomnost virů.
- Parametry:
buff – Binární stream (
BytesIO) se souborem určeným ke kontrole.- Vrací:
Slovník ve formátu
{filename: (status, reason)}pro odpověď clamd.- Vyvolá:
ClamdBufferTooLongError – Pokud je stream větší než povolený limit clamd.
ClamdConnectionError – Při chybě komunikace se službou clamd.
- _basic_command()
Provádí operaci basic command.
- Parametry:
command – Textový název, klíč nebo zpráva
commandpoužívaná v rámci operace.- Vrací:
Výstup funkce odpovídající implementované logice.
- Vyvolá:
ClamdResponseError – Vyvolá se při splnění podmínky
len(response) > 1.
- _init_socket()
Inicializuje socketové připojení k clamd.
Pouze pro interní použití. :raises ClamdConnectionError: Pokud se nelze připojit ke clamd.
- _error_message()
Formátuje chybovou zprávu pro selhání socketového připojení. :param exception: Zachycená síťová výjimka při navazování spojení. :return: Formátovaná chybová zpráva pro logování.
- _send_command()
Odešle command.
Používá prefix ‚n‘ a ukončovač nového řádku podle doporučení man clamd.
- Parametry:
cmd – Textový název, klíč nebo zpráva
cmdpoužívaná v rámci operace.args – Parametr
argsse předává do voláníjoin(), ovlivňuje větvení podmínek.
- Vrací:
Výstup funkce odpovídající implementované logice.
- _recv_response()
Přijme jednořádkovou odpověď od clamd. :return: Dekódovaný řádek odpovědi od clamd. :raises ClamdConnectionError: Při chybě čtení ze socketu.
- _parse_response()
Parsuje odpovědi pro příkazy SCAN, CONTSCAN, MULTISCAN a STREAM. :param msg: Textová odpověď vrácená službou clamd. :return: N-tice
(path, virus, status)extrahovaná z odpovědi. :raises ClamdResponseError: Pokud odpověď nelze naparsovat.
- _close_socket()
Uzavře socketové připojení k clamd.