CORE connectors

Modul connectors.

Třídy

class RedisConnector

Implementuje komponentu RedisConnector v 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 table pracuje se s atributy columns, 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á:
_basic_command()

Provádí operaci basic command.

Parametry:

command – Textový název, klíč nebo zpráva command použí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 cmd používaná v rámci operace.

  • args – Parametr args se 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.