mopidy-musicbox-webclient/mopidy_musicbox_webclient/__init__.py
2015-04-26 00:50:40 +01:00

40 lines
1.2 KiB
Python

from __future__ import unicode_literals
import os
from mopidy import config, ext
__version__ = '2.0.0'
class MusicBoxExtension(ext.Extension):
dist_name = 'Mopidy-MusicBox-Webclient'
ext_name = 'musicbox_webclient'
version = __version__
def get_default_config(self):
conf_file = os.path.join(os.path.dirname(__file__), 'ext.conf')
return config.read(conf_file)
def get_config_schema(self):
schema = super(MusicBoxExtension, self).get_config_schema()
schema['musicbox'] = config.Boolean(optional=True)
schema['websocket_host'] = config.Hostname(optional=True)
schema['websocket_port'] = config.Port(optional=True)
return schema
def setup(self, registry):
registry.add(
'http:app', {'name': self.ext_name, 'factory': self.factory})
def factory(self, config, core):
from tornado.web import RedirectHandler
from .web import IndexHandler, StaticHandler
path = os.path.join(os.path.dirname(__file__), 'static')
return [
(r'/', RedirectHandler, {'url': 'index.html'}),
(r'/(index.html)', IndexHandler, {'config': config, 'path': path}),
(r'/(.*)', StaticHandler, {'path': path})
]