def __init__(self, *args, **kwargs): conn = self.get_db_cnx() cur = conn.cursor() try: cur.execute("SELECT db_version FROM monit") res = cur.fetchone() self.log.debug("MonitDB version from db is '%s', current version is '%s'" % (res['db_version'], db_version)) if res and res.get('db_version', None) != db_version: current = res['db_version'] try: db.upgrade(cur, current, db_version) cur.execute("UPDATE monit SET db_version=?", (db_version,)) except sqlite.OperationalError, e: self.log.warning("Database upgrade from verion %s to version %s failed (%s)" % ( current, db_version, e)) except sqlite.OperationalError, e: self.log.debug("Error fetching db_version %s" % e) #the monit table does not exist, create tables from scratch for stmt in db.tables: cur.execute(stmt) db.upgrade(cur, 1, db_version) #run all upgrades
def upgrade(): db.upgrade()
from gevent import monkey monkey.patch_all() import flask from flask import Flask, redirect from flask_restful import Resource, Api, abort, reqparse, request from engine import Logger, EngineRunner from db import init_db_engine, create_db, upgrade from plugin_managers import load_plugins, get_all_plugins, upgrades, TrackersManager, ClientsManager from flask_socketio import SocketIO, emit init_db_engine("sqlite:///monitorrent.db", True) load_plugins() upgrade(get_all_plugins(), upgrades) create_db() tracker_manager = TrackersManager() clients_manager = ClientsManager() static_folder = "webapp" app = Flask(__name__, static_folder=static_folder, static_url_path='') app.config['SECRET_KEY'] = 'secret!' socketio = SocketIO(app) class EngineWebSocketLogger(Logger): def started(self): socketio.emit('started', namespace='/execute') def finished(self, finish_time, exception): args = { 'finish_time': finish_time.isoformat(),
from gevent import monkey monkey.patch_all() import flask from flask import Flask, redirect from flask_restful import Resource, Api, abort, reqparse, request from engine import Logger, EngineRunner from db import init_db_engine, create_db, upgrade from plugin_managers import load_plugins, get_all_plugins, upgrades, TrackersManager, ClientsManager from flask_socketio import SocketIO, emit init_db_engine("sqlite:///monitorrent.db", True) load_plugins() upgrade(get_all_plugins(), upgrades) create_db() tracker_manager = TrackersManager() clients_manager = ClientsManager() static_folder = "webapp" app = Flask(__name__, static_folder=static_folder, static_url_path='') app.config['SECRET_KEY'] = 'secret!' socketio = SocketIO(app) class EngineWebSocketLogger(Logger): def started(self): socketio.emit('started', namespace='/execute') def finished(self, finish_time, exception): args = {
#!/usr/bin/env python3 import sys import logging import robin import db db.upgrade() FORMAT = '%(asctime)-15s %(message)s' logging.basicConfig(format=FORMAT, level=logging.DEBUG) logger = logging.getLogger(__name__) db.set_log(logger) while True: print("> ", end="") cmd = input().split(' ') if cmd[0] == 'q': sys.exit(0) if cmd[0]: eval("robin." + cmd[0])(*cmd[1:])