示例#1
0
def startWebService(observer=None):
    webservice.config["DEBUG"] = Config.config("web-server")["debug"]
    webservice.config["SECRET_KEY"] = b'_5#y2L"F4Q8z\n\xec]/'

    socketio = SocketIO(webservice)
    socketio.run(webservice,
                 port=Config.config("web-server")["port"],
                 host='0.0.0.0')
    stopWatchdog(observer)
示例#2
0
def startWatchdog():
    if not Config.isSetted():
        raise RuntimeError("Server not configured")

    config = Config.config("library-watchdog")

    print("Starting watchdog with config: " + str(config))
    patterns = config["patterns"]
    ignore_patterns = config["ignore-patterns"]
    ignore_directories = config["ignore-directories"]
    case_sensitive = config["case-sensitive"]
    path = config["path"]
    recursively = config["recursively"]

    watchdog_events = PatternMatchingEventHandler(
        patterns=patterns,
        ignore_patterns=ignore_patterns,
        ignore_directories=ignore_directories,
        case_sensitive=case_sensitive)
    watchdog_events.on_created = on_created
    watchdog_events.on_deleted = on_deleted
    watchdog_events.on_modified = on_modified
    watchdog_events.on_moved = on_moved

    observer = Observer()
    observer.schedule(event_handler=watchdog_events,
                      recursive=recursively,
                      path=path)
    observer.daemon = True

    observer.start()
    print("Watchdog started...")

    return observer
示例#3
0
def main():
    configfile = readConfigJson()
    setUpConfig(configfile)

    setUpDatabase()

    walkOnFiles(Config.config("library-watchdog")["path"])

    observer = startWatchdog()

    startWebService(observer)
    startWebService()
示例#4
0
def walkOnFiles(path):
    print("Start walking on files...")

    files = findFilesInDirWithPattern(
        path,
        Config.config("startup")["walk-patterns"])

    printProgressBar(0,
                     len(files),
                     prefix='Progress:',
                     suffix='Complete',
                     length=50)

    for i, file in enumerate(files):
        saveMusicFileToDb(file)
        printProgressBar(i + 1,
                         len(files),
                         prefix='Progress:',
                         suffix='Complete',
                         length=50)
示例#5
0
def setUpDatabase():
    if not Config.isSetted():
        raise RuntimeError("Server not configured")

    engine = create_engine('{}://{}:{}@{}:{}/{}?charset=utf8'.format(
        Config.config("database")["type"],
        Config.config("database")["user"],
        Config.config("database")["password"],
        Config.config("database")["host"],
        Config.config("database")["port"],
        Config.config("database")["database"]),
                           connect_args={},
                           encoding='utf8',
                           convert_unicode=True)

    db = Database(engine)
    App.setDb(db)