示例#1
0
文件: app.py 项目: lokhman/donkey
    def __init__(self):
        self.version = 1.27
        self.uptime = datetime.now()

        # free disk space
        self.disk = Player.free_space()

        # initialise database
        self.db = SQLite(options.db)

        # initialise alerts
        self.alerts = Alert()

        # initialise playlist
        sql = 'SELECT id, artist, title, length, enabled FROM songs WHERE processed = 1 ORDER BY RANDOM()'
        self.playlist = Playlist((x.id, x.artist, x.title, x.length, x.enabled) for x in self.db.query(sql))

        # initialise player
        self.player = Player(self.playlist)

        # initialise WSO
        self.wso = WSO(self.player)

        # initialise application
        super(Application, self).__init__(
            [
                (r'/', MainHandler),
                (r'/login', LoginHandler),
                (r'/logout', LogoutHandler),
                (r'/upload', UploadHandler),
                (r'/songs/(\d+)', SongHandler),
                (r'/users(?:/([^/]+))?', UserHandler),
                (r'/list', ListHandler),
                (r'/wso', WSOHandler),
            ],
            login_url='/login',
            cookie_secret='xWP6dkmS489K14Uaj16w416P8Y7b2L474807tjwJ',
            template_path=os.path.join(os.path.dirname(__file__), 'templates'),
            static_path=os.path.join(os.path.dirname(__file__), 'static'),
            debug=options.debug,
            xsrf_cookies=True,
            gzip=True,
        )