diff --git a/mopidy/__init__.py b/mopidy/__init__.py index 6eec2f67..7a0a4173 100644 --- a/mopidy/__init__.py +++ b/mopidy/__init__.py @@ -1,2 +1,2 @@ def get_version(): - return '0' + return u'0' diff --git a/mopidy/server.py b/mopidy/server.py index 387fc857..10ae802e 100644 --- a/mopidy/server.py +++ b/mopidy/server.py @@ -5,7 +5,7 @@ import socket from mopidy import settings from mopidy.session import MpdSession -logger = logging.getLogger('server') +logger = logging.getLogger(u'server') class MpdServer(asyncore.dispatcher): def __init__(self, handler_class=MpdSession): @@ -18,7 +18,7 @@ class MpdServer(asyncore.dispatcher): def handle_accept(self): (client_socket, client_address) = self.accept() - logger.info('Connection from: [%s]:%s', *client_address) + logger.info(u'Connection from: [%s]:%s', *client_address) self.handler_class(client_socket, client_address) def handle_close(self): diff --git a/mopidy/session.py b/mopidy/session.py index 243d8e51..97b5ddc5 100644 --- a/mopidy/session.py +++ b/mopidy/session.py @@ -3,21 +3,31 @@ import logging from mopidy import get_version, settings -logger = logging.getLogger('session') +logger = logging.getLogger(u'session') class MpdSession(asynchat.async_chat): def __init__(self, client_socket, client_address): asynchat.async_chat.__init__(self, sock=client_socket) self.input_buffer = [] - self.set_terminator(settings.LINE_TERMINATOR) - self.respond('OK MPD (mopidy %s)' % get_version()) + self.set_terminator(settings.MPD_LINE_TERMINATOR) + self.send_response(u'OK MPD (mopidy %s)' % get_version()) def collect_incoming_data(self, data): self.input_buffer.append(data) def found_terminator(self): - logger.debug('Input: %s', ''.join(self.input_buffer)) + data = ''.join(self.input_buffer) self.input_buffer = [] + input = data.decode(settings.MPD_LINE_ENCODING) + logger.debug(u'Input: %s', input) + self.handle_request(input) + + def handle_request(self, input): + pass # TODO + + def send_response(self, output): + logger.debug(u'Output: %s', output) + output = u'%s%s' % (output, settings.MPD_LINE_TERMINATOR) + data = output.encode(settings.MPD_LINE_ENCODING) + self.push(data) - def respond(self, data): - self.push('%s%s' % (data, settings.LINE_TERMINATOR)) diff --git a/mopidy/settings.py b/mopidy/settings.py index 81516370..43349bd2 100644 --- a/mopidy/settings.py +++ b/mopidy/settings.py @@ -1,4 +1,5 @@ -CONSOLE_LOG_FORMAT = '%(levelname)-8s %(asctime)s\n %(message)s' -LINE_TERMINATOR = '\n' -MPD_SERVER_HOSTNAME = 'localhost' +CONSOLE_LOG_FORMAT = u'%(levelname)-8s %(asctime)s\n %(message)s' +MPD_LINE_ENCODING = u'utf-8' +MPD_LINE_TERMINATOR = u'\n' +MPD_SERVER_HOSTNAME = u'localhost' MPD_SERVER_PORT = 6600