SQLManagement

class SQLManagement(reload: bool = False)

Bases: object

Handles all querries to SQL database using SQLAlchemy.

getAllRows() List

Returns all rows in database.

Returns

List[Dictionary[str,str]] - List of rows converted to dictionaries

getAllValuesInColumn(column: str) List[str]

Returns all values in a column.

Parameters

column (str) – column to return from database

Returns

List[str]

getRowsWithValue(value: str, columns: List[str], maxRows: Optional[int] = None, strict: bool = False) List[Dict[str, str]]

Returns all rows in database where columns contain value.

Parameters
  • value (str) – value to search in database

  • columns (List[str]) – columns to search in

  • strict (bool) – exact matches only

Returns

List[Dictionary[str,str]] - List of rows converted to dictionaries

createDb(imageInputPath: str = PATH_IMAGES_RAW) None

Creates a SQLite 3 .db file. Drops existing tables.

Parameters

imageInputPath (str) – absolute path to input directory

formatDateTime(raw: str) str

Helper function. Converts Image exif datetime into Python datetime

Parameters

raw (str) – exif datetime string

Returns

str - python compatible datetime string