SQL Backend
SQL Settings
- class progress_updater.backends.sql.SQLSettings(*, sql_dsn: str, sql_table: str = 'progress_updater_logs', sql_extras: Dict = None)
SQL Settings. Returns a SQLLog class and set SQL backend settings
Usage:
>>> from progress_updater.backends import SQLSettings >>> >>> settings = SQLSettings( >>> sql_dsn="postgresql+psycopg2://user:pass@postgres:5432/db" >>> ) >>> SQLLog = SQLSettings.backend() # type: Type[SQLLog] >>> log = SQLLog(task_name="My task", description="A cool task") >>> log.save()
SQL Log
- class progress_updater.backends.sql.SQLLog(*, uuid: UUID = None, task_name: str, status: str = 'PENDING', log: str = '', description: str = None, start_time: datetime = None, end_time: datetime = None, created: datetime = None, updated: datetime = None)
SQLLog class. Defines the Log for SQL Backend
Usage:
>>> from progress_updater.backends import SQLSettings >>> >>> settings = SQLSettings( >>> sql_dsn="postgresql+psycopg2://user:pass@postgres:5432/db" >>> ) >>> SQLLog = SQLSettings.backend() # type: Type[SQLLog] >>> log = SQLLog(task_name="My task", description="A cool task") >>> log.save() >>> >>> assert log.dict() == {"task_name": "My task", ...} >>> assert log.json() == '{"task_name": "My task", ...}' >>> >>> log = SQLLog.get(uuid=UUID("<your-uuid>")) >>> assert log.description == "A cool task" >>> >>> assert log.delete() == 1
- delete() int
Deletes object in DataBase
Usage:
>>> ... >>> assert log.delete() == 1 # count deleted 1 >>> assert log.delete() == 0 # count deleted 0 >>> ...