diff --git a/mopidy/handler.py b/mopidy/handler.py index 706c537c..f6355fa5 100644 --- a/mopidy/handler.py +++ b/mopidy/handler.py @@ -373,7 +373,7 @@ class MpdHandler(object): 'artists': 0, 'albums': 0, 'songs': 0, - 'uptime': 0, + 'uptime': self.session.stats_uptime(), 'db_playtime': 0, 'db_update': 0, 'playtime': 0, diff --git a/mopidy/server.py b/mopidy/server.py index c4422425..e9e53c21 100644 --- a/mopidy/server.py +++ b/mopidy/server.py @@ -2,6 +2,7 @@ import asyncore import logging import socket import sys +import time from mopidy import settings from mopidy.session import MpdSession @@ -17,6 +18,7 @@ class MpdServer(asyncore.dispatcher): self.set_reuse_addr() self.bind((settings.MPD_SERVER_HOSTNAME, settings.MPD_SERVER_PORT)) self.listen(1) + self.started_at = int(time.time()) logger.info(u'Please connect to %s port %s using an MPD client.', settings.MPD_SERVER_HOSTNAME, settings.MPD_SERVER_PORT) @@ -34,3 +36,6 @@ class MpdServer(asyncore.dispatcher): self.handle_close() sys.exit(0) + @property + def uptime(self): + return int(time.time()) - self.started_at diff --git a/mopidy/session.py b/mopidy/session.py index 5429b9fc..790fbe7d 100644 --- a/mopidy/session.py +++ b/mopidy/session.py @@ -61,3 +61,6 @@ class MpdSession(asynchat.async_chat): output = u'%s%s' % (output, settings.MPD_LINE_TERMINATOR) data = output.encode(settings.MPD_LINE_ENCODING) self.push(data) + + def stats_uptime(self): + return self.server.uptime