Example #1
0
 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
Example #2
0
def upgrade():
    db.upgrade()
Example #3
0
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(),
Example #4
0
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:])