autotako

Service to monitor moombox for completed livestream downloads to upload for distribution
git clone https://code.alwayswait.ing/autotako.git
Log | Files | Refs

database.py (964B)


      1 #!/usr/bin/python3
      2 
      3 import pathlib
      4 import sqlite3
      5 from contextvars import ContextVar
      6 
      7 # holds the database context so it can be used across modules without circular imports
      8 database_ctx: ContextVar[sqlite3.Connection] = ContextVar("database")
      9 
     10 
     11 def setup_database(database_path: pathlib.Path):
     12     database = sqlite3.connect(database_path)
     13 
     14     database.execute(
     15         "CREATE TABLE IF NOT EXISTS gofile_tokens "
     16         "(job_id TEXT PRIMARY KEY, token TEXT, folder_id TEXT, url TEXT)"
     17     )
     18     database.execute(
     19         "CREATE TABLE IF NOT EXISTS gofile_files "
     20         "(job_id TEXT NOT NULL, filepath TEXT, FOREIGN KEY(job_id) REFERENCES gofile_tokens(job_id))"
     21     )
     22     database.execute(
     23         "CREATE TABLE IF NOT EXISTS job_config (job_id TEXT PRIMARY KEY, config TEXT)"
     24     )
     25     database.execute(
     26         "CREATE TABLE IF NOT EXISTS job_status (job_id TEXT PRIMARY KEY, completed BOOL)"
     27     )
     28 
     29     database.commit()
     30 
     31     database_ctx.set(database)