Ejemplo n.º 1
0
#!/usr/bin/env python

from datetime import datetime
import os
import json
import sqlite3
import time
import uuid

import redball
from redball import config, logger, upgrade

log = logger.get_logger(logger_name="redball.database",
                        log_level="DEBUG",
                        propagate=True)


def get_con(logg=log, dbFile=None):
    if not os.path.isdir(redball.DB_PATH):
        try:
            logg.info(
                "The data directory does not exist. Attempting to create it..."
            )
            os.mkdir(redball.DB_PATH)
        except Exception as e:
            logg.error("Error creating data directory: {}.".format(e))
            raise

    try:
        logg.debug("Connecting to database {}".format(
            dbFile if dbFile else redball.DB_FILE))
Ejemplo n.º 2
0
#!/usr/bin/env python

from redball import database, logger
import time

log = logger.get_logger(logger_name="redball.upgrade",
                        log_level="DEBUG",
                        propagate=True)


def upgrade_database(toVer=None):
    # toVer = database version to upgrade to
    # returns True if version is satisfactory, False if error
    toVer = toVer if toVer else max(upgradeScripts.keys())
    fromVer = database.get_database_version(logg=log)

    if fromVer == toVer:
        log.info("Database is up to date (version: {})!".format(fromVer))
        return True
    elif fromVer > toVer:
        log.warning(
            "Current version ({}) is higher than requested version ({}). Someting's wrong but there's nothing to upgrade..."
            .format(fromVer, toVer))
        return True
    else:
        log.info("Current database version {}; desired version: {}.".format(
            fromVer, toVer))
        log.info("Creating a backup of the database...")
        database.backup_database(logg=log, manual=False)

        con = database.get_con(logg=log)
Ejemplo n.º 3
0
#!/usr/bin/env python

import json
import praw
import uuid

import redball
from redball import database, logger

log = logger.get_logger(logger_name="redball.config",
                        log_level="DEBUG",
                        propagate=True)


def get_sys_config(category=None, key=None, includeChildren=False):
    query = "SELECT * FROM rb_config WHERE 1=1"
    local_args = tuple()
    if category and key:
        query += " AND (category=? AND key=?)"
        local_args += (category, key)
    elif category:
        query += " AND category=?"
        local_args += (category, )
    elif key:
        query += " AND key=?"
        local_args += (key, )

    if includeChildren and key:
        query += " OR parent_key=?"
        local_args += (key, )