49 lines
1.2 KiB
Python
49 lines
1.2 KiB
Python
import asyncore
|
|
import logging
|
|
import os
|
|
import sys
|
|
|
|
sys.path.insert(0,
|
|
os.path.abspath(os.path.join(os.path.dirname(__file__), '../')))
|
|
|
|
from mopidy import config
|
|
from mopidy.exceptions import ConfigError
|
|
from mopidy.mpd.server import MpdServer
|
|
|
|
logger = logging.getLogger('mopidy')
|
|
|
|
def main():
|
|
_setup_logging(2)
|
|
backend = _get_backend(config.BACKEND)
|
|
MpdServer(backend=backend)
|
|
asyncore.loop()
|
|
|
|
def _setup_logging(verbosity_level):
|
|
if verbosity_level == 0:
|
|
level = logging.WARNING
|
|
elif verbosity_level == 2:
|
|
level = logging.DEBUG
|
|
else:
|
|
level = logging.INFO
|
|
logging.basicConfig(
|
|
format=config.CONSOLE_LOG_FORMAT,
|
|
level=level,
|
|
)
|
|
|
|
def _get_backend(name):
|
|
module_name = name[:name.rindex('.')]
|
|
class_name = name[name.rindex('.') + 1:]
|
|
logger.info('Loading: %s from %s', class_name, module_name)
|
|
module = __import__(module_name, globals(), locals(), [class_name], -1)
|
|
class_object = getattr(module, class_name)
|
|
instance = class_object()
|
|
return instance
|
|
|
|
if __name__ == '__main__':
|
|
try:
|
|
main()
|
|
except KeyboardInterrupt:
|
|
sys.exit('\nInterrupted by user')
|
|
except ConfigError, e:
|
|
sys.exit('%s' % e)
|