From 4605a9e8c9adc5cfdfe3b7edfbd741ce0ab70a8c Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Wed, 23 Dec 2009 20:02:07 +0100 Subject: [PATCH] Identify oneself as a MPD server to connecting clients --- mopidy/__init__.py | 2 ++ mopidy/session.py | 8 +++++++- mopidy/settings.py | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/mopidy/__init__.py b/mopidy/__init__.py index e69de29b..6eec2f67 100644 --- a/mopidy/__init__.py +++ b/mopidy/__init__.py @@ -0,0 +1,2 @@ +def get_version(): + return '0' diff --git a/mopidy/session.py b/mopidy/session.py index cb1af511..243d8e51 100644 --- a/mopidy/session.py +++ b/mopidy/session.py @@ -1,13 +1,16 @@ import asynchat import logging +from mopidy import get_version, settings + logger = logging.getLogger('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('\n') + self.set_terminator(settings.LINE_TERMINATOR) + self.respond('OK MPD (mopidy %s)' % get_version()) def collect_incoming_data(self, data): self.input_buffer.append(data) @@ -15,3 +18,6 @@ class MpdSession(asynchat.async_chat): def found_terminator(self): logger.debug('Input: %s', ''.join(self.input_buffer)) self.input_buffer = [] + + def respond(self, data): + self.push('%s%s' % (data, settings.LINE_TERMINATOR)) diff --git a/mopidy/settings.py b/mopidy/settings.py index 99163add..81516370 100644 --- a/mopidy/settings.py +++ b/mopidy/settings.py @@ -1,3 +1,4 @@ CONSOLE_LOG_FORMAT = '%(levelname)-8s %(asctime)s\n %(message)s' +LINE_TERMINATOR = '\n' MPD_SERVER_HOSTNAME = 'localhost' MPD_SERVER_PORT = 6600