mopidy/mopidy/__main__.py
Stein Magnus Jodal 55cc5b681d Formatting
2010-03-20 12:05:17 +01:00

52 lines
1.4 KiB
Python

import asyncore
import logging
import multiprocessing
import optparse
import os
import sys
sys.path.insert(0,
os.path.abspath(os.path.join(os.path.dirname(__file__), '../')))
from mopidy import settings, SettingsError
from mopidy.process import CoreProcess
from mopidy.utils import get_class
logger = logging.getLogger('mopidy.main')
def main():
options, args = _parse_options()
_setup_logging(options.verbosity_level)
core_queue = multiprocessing.Queue()
core = CoreProcess(core_queue)
core.start()
get_class(settings.SERVER)(core_queue)
asyncore.loop()
def _parse_options():
parser = optparse.OptionParser()
parser.add_option('-q', '--quiet',
action='store_const', const=0, dest='verbosity_level',
help='less output (warning level)')
parser.add_option('-v', '--verbose',
action='store_const', const=2, dest='verbosity_level',
help='more output (debug level)')
return parser.parse_args()
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=settings.CONSOLE_LOG_FORMAT, level=level)
if __name__ == '__main__':
try:
main()
except KeyboardInterrupt:
sys.exit('\nInterrupted by user')
except SettingsError, e:
sys.exit('%s' % e)