From e9c2816354fb5ad9ce58b5a3ecebbffb1a3742fc Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Mon, 11 Nov 2013 21:39:14 +0100 Subject: [PATCH] avahi: Add hostname and port template values to names --- mopidy/frontends/http/actor.py | 3 ++- mopidy/frontends/http/ext.conf | 2 +- mopidy/frontends/mpd/actor.py | 3 ++- mopidy/frontends/mpd/ext.conf | 2 +- mopidy/utils/zeroconf.py | 9 +++++++-- 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/mopidy/frontends/http/actor.py b/mopidy/frontends/http/actor.py index ad5441c3..1cd0c5f4 100644 --- a/mopidy/frontends/http/actor.py +++ b/mopidy/frontends/http/actor.py @@ -100,7 +100,8 @@ class HttpFrontend(pykka.ThreadingActor, CoreListener): host=self.hostname, port=self.port) if self.zeroconf_service.publish(): - logger.info('Registered HTTP with Zeroconf as %s', name) + logger.info('Registered HTTP with Zeroconf as "%s"', + self.zeroconf_service.name) else: logger.warning('Registering HTTP with Zeroconf failed.') diff --git a/mopidy/frontends/http/ext.conf b/mopidy/frontends/http/ext.conf index f3df5f1a..891aeb5b 100644 --- a/mopidy/frontends/http/ext.conf +++ b/mopidy/frontends/http/ext.conf @@ -4,7 +4,7 @@ hostname = 127.0.0.1 port = 6680 static_dir = zeroconf_enabled = true -zeroconf_name = Mopidy +zeroconf_name = Mopidy HTTP server on $hostname [loglevels] cherrypy = warning diff --git a/mopidy/frontends/mpd/actor.py b/mopidy/frontends/mpd/actor.py index 575f4159..a40834b2 100644 --- a/mopidy/frontends/mpd/actor.py +++ b/mopidy/frontends/mpd/actor.py @@ -48,7 +48,8 @@ class MpdFrontend(pykka.ThreadingActor, CoreListener): port=self.port, host=self.hostname) if self.zeroconf_service.publish(): - logger.info('Registered MPD with Zeroconf as %s', name) + logger.info('Registered MPD with Zeroconf as "%s"', + self.zeroconf_service.name) else: logger.warning('Registering MPD with Zeroconf failed.') diff --git a/mopidy/frontends/mpd/ext.conf b/mopidy/frontends/mpd/ext.conf index d51c04f6..ad3b333a 100644 --- a/mopidy/frontends/mpd/ext.conf +++ b/mopidy/frontends/mpd/ext.conf @@ -6,4 +6,4 @@ password = max_connections = 20 connection_timeout = 60 zeroconf_enabled = true -zeroconf_name = Mopidy (MPD) +zeroconf_name = Mopidy MPD server on $hostname diff --git a/mopidy/utils/zeroconf.py b/mopidy/utils/zeroconf.py index 34e9a182..ba4e327d 100644 --- a/mopidy/utils/zeroconf.py +++ b/mopidy/utils/zeroconf.py @@ -2,6 +2,8 @@ from __future__ import unicode_literals import logging import re +import socket +import string logger = logging.getLogger('mopidy.utils.zerconf') @@ -31,13 +33,16 @@ class Zeroconf: def __init__(self, name, port, stype="_http._tcp", domain="", host="", text=[]): - self.name = name + self.group = None self.stype = stype self.domain = domain self.port = port self.text = text self.host = _filter_loopback_and_meta_addresses(host) - self.group = None + + template = string.Template(name) + self.name = template.safe_substitute( + hostname=self.host or socket.getfqdn(), port=self.port) def publish(self): if not dbus: