Actually make things work in python3. Author: Jan Synacek --- a/libpurple/purple-remote 2015-06-03 09:52:26.324668688 +0200 +++ b/libpurple/purple-remote 2015-06-03 09:55:41.287253981 +0200 @@ -3,13 +3,13 @@ import codecs import dbus import re -import urllib +import urllib.parse import sys import xml.dom.minidom sys.stdin = codecs.getwriter('utf-8')(sys.stdin); -sys.stdout = codecs.getwriter('utf-8')(sys.stdout); +sys.stdout = codecs.getwriter('utf-8')(sys.stdout.detach()); xml.dom.minidom.Element.all = xml.dom.minidom.Element.getElementsByTagName @@ -41,7 +41,7 @@ class CheckedAttribute: return result def show_help(requested=False): - print """This program uses D-Bus to communicate with purple. + print("""This program uses D-Bus to communicate with purple. Usage: @@ -72,7 +72,7 @@ Examples of commands: PurpleAccountsFindConnected?name=&protocol=prpl-jabber PurpleAccountsFindConnected(,prpl-jabber) -""" % sys.argv[0] +""" % sys.argv[0]) if (requested): sys.exit(0) else: @@ -120,7 +120,7 @@ def execute(uri): if paramstring is not None: for param in paramstring.split("&"): key, value = extendlist(param.split("=",1), 2, "") - params[key] = urllib.unquote(value) + params[key] = urllib.parse.unquote(value) accountname = params.get("account", "") @@ -233,12 +233,12 @@ if len(sys.argv) == 1: elif (sys.argv[1] == "--help" or sys.argv[1] == "-h"): show_help(True) elif (obj == None): - print "No existing libpurple instance detected." + print("No existing libpurple instance detected.") sys.exit(1); for arg in sys.argv[1:]: output = execute(arg) if (output != None): - print output + print(output)