From 34c17c479c38be36def837e189836a4a6a1fa4d6 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Fri, 28 Dec 2012 09:03:57 +0100 Subject: [PATCH] Attempt to cope with accented characters in host names when starting MDNS --- src/calibre/utils/mdns.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/calibre/utils/mdns.py b/src/calibre/utils/mdns.py index 146491ad99..abf5d57e09 100644 --- a/src/calibre/utils/mdns.py +++ b/src/calibre/utils/mdns.py @@ -6,6 +6,9 @@ __docformat__ = 'restructuredtext en' import socket, time, atexit from collections import defaultdict +from calibre.utils.filenames import ascii_text +from calibre import force_unicode + _server = None def get_all_ips(): @@ -82,12 +85,16 @@ def start_server(): def create_service(desc, type, port, properties, add_hostname, use_ip_address=None): port = int(port) try: - hostname = socket.gethostname().partition('.')[0] + hostname = ascii_text(force_unicode(socket.gethostname())).partition('.')[0] except: hostname = 'Unknown' if add_hostname: - desc += ' (on %s)'%hostname + try: + desc += b' (on %s)'%hostname + except: + pass + if use_ip_address: local_ip = use_ip_address else: