/pidgin/main: 8c851c1bc85b: Ensure backwards compatibility with ...
Dani?l van Eeden <[email protected]>
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Changeset: 8c851c1bc85b81acf1cca43833cc5fb4fdbfe39a Author: Dani?l van Eeden <[email protected]> Date: 2015-07-12 18:16 +0200 Branch: release-2.x.y URL: https://hg.pidgin.im/pidgin/main/rev/8c851c1bc85b Description: Ensure backwards compatibility with Python 2 Use python (which often defaults to python 2.x) instead of forcing python2 Also make it compatible with python 2.7 and 3.4 Tested with: $ python2.7 libpurple/purple-url-handler xmpp:[email protected] $ python3.4 libpurple/purple-url-handler xmpp:[email protected] (grafted from a6f8c7cbdb24eb7113268beede61db120f940917) diffstat: libpurple/purple-url-handler | 49 +++++++++++++++++++++++-------------------- 1 files changed, 26 insertions(+), 23 deletions(-) diffs (177 lines): diff --git a/libpurple/purple-url-handler b/libpurple/purple-url-handler --- a/libpurple/purple-url-handler +++ b/libpurple/purple-url-handler @@ -1,10 +1,13 @@ -#!/usr/bin/env python3 +#!/usr/bin/env python import dbus import re import sys import time -import urllib.parse +try: + from urllib.parse import unquote_plus +except ImportError: + from urllib import unquote_plus bus = dbus.SessionBus() obj = None @@ -125,13 +128,13 @@ def aim(uri): print("Invalid aim URI: %s" % uri) return - command = urllib.parse.unquote(match.group(1)) + command = unquote_plus(match.group(1)) paramstring = match.group(3) params = {} if paramstring: for param in paramstring.split("&"): key, value = extendlist(param.split("=", 1), 2, "") - params[key] = urllib.parse.unquote(value) + params[key] = unquote_plus(value) accountname = params.get("account", "") screenname = params.get("screenname", "") @@ -151,7 +154,7 @@ def gg(uri): print("Invalid gg URI: %s" % uri) return - screenname = urllib.parse.unquote(match.group(1)) + screenname = unquote_plus(match.group(1)) account = findaccount(protocol) goim(account, screenname) @@ -162,13 +165,13 @@ def icq(uri): print("Invalid icq URI: %s" % uri) return - command = urllib.parse.unquote(match.group(1)) + command = unquote_plus(match.group(1)) paramstring = match.group(3) params = {} if paramstring: for param in paramstring.split("&"): key, value = extendlist(param.split("=", 1), 2, "") - params[key] = urllib.parse.unquote(value) + params[key] = unquote_plus(value) accountname = params.get("account", "") screenname = params.get("screenname", "") @@ -188,7 +191,7 @@ def irc(uri): print("Invalid irc URI: %s" % uri) return - server = urllib.parse.unquote(match.group(2) or "") + server = unquote_plus(match.group(2) or "") target = match.group(3) or "" query = match.group(5) or "" @@ -204,7 +207,7 @@ def irc(uri): if paramstring: for param in paramstring.split("&"): key, value = extendlist(param.split("=", 1), 2, "") - params[key] = urllib.parse.unquote(value) + params[key] = unquote_plus(value) def correct_server(account): username = cpurple.PurpleAccountGetUsername(account) @@ -214,9 +217,9 @@ def irc(uri): if (target != ""): if (isnick): - goim(account, urllib.parse.unquote(target.split(",")[0]), params.get("msg")) + goim(account, unquote_plus(target.split(",")[0]), params.get("msg")) else: - channel = urllib.parse.unquote(target.split(",")[0]) + channel = unquote_plus(target.split(",")[0]) if channel[0] != "#": channel = "#" + channel gochat(account, {"server": server, "channel": channel, "password": params.get("key", "")}, params.get("msg")) @@ -228,13 +231,13 @@ def msnim(uri): print("Invalid msnim URI: %s" % uri) return - command = urllib.parse.unquote(match.group(1)) + command = unquote_plus(match.group(1)) paramstring = match.group(3) params = {} if paramstring: for param in paramstring.split("&"): key, value = extendlist(param.split("=", 1), 2, "") - params[key] = urllib.parse.unquote(value) + params[key] = unquote_plus(value) screenname = params.get("contact", "") account = findaccount(protocol) @@ -256,7 +259,7 @@ def sip(uri): print("Invalid sip URI: %s" % uri) return - screenname = urllib.parse.unquote(match.group(1)) + screenname = unquote_plus(match.group(1)) account = findaccount(protocol) goim(account, screenname) @@ -269,15 +272,15 @@ def xmpp(uri): tmp = match.group(2) if (tmp): - accountname = urllib.parse.unquote(tmp) + accountname = unquote_plus(tmp) else: accountname = "" - screenname = urllib.parse.unquote(match.group(3)) + screenname = unquote_plus(match.group(3)) tmp = match.group(5) if (tmp): - command = urllib.parse.unquote(tmp) + command = unquote_plus(tmp) else: command = "" @@ -286,7 +289,7 @@ def xmpp(uri): if paramstring: for param in paramstring.split(";"): key, value = extendlist(param.split("=", 1), 2, "") - params[key] = urllib.parse.unquote(value) + params[key] = unquote_plus(value) account = findaccount(protocol, accountname) @@ -307,13 +310,13 @@ def gtalk(uri): print("Invalid gtalk URI: %s" % uri) return - command = urllib.parse.unquote(match.group(1)) + command = unquote_plus(match.group(1)) paramstring = match.group(3) params = {} if paramstring: for param in paramstring.split("&"): key, value = extendlist(param.split("=", 1), 2, "") - params[key] = urllib.parse.unquote(value) + params[key] = unquote_plus(value) accountname = params.get("from_jid", "") jid = params.get("jid", "") @@ -332,14 +335,14 @@ def ymsgr(uri): print("Invalid ymsgr URI: %s" % uri) return - command = urllib.parse.unquote(match.group(1)) - screenname = urllib.parse.unquote(match.group(3)) + command = unquote_plus(match.group(1)) + screenname = unquote_plus(match.group(3)) paramstring = match.group(5) params = {} if paramstring: for param in paramstring.split("&"): key, value = extendlist(param.split("=", 1), 2, "") - params[key] = urllib.parse.unquote(value) + params[key] = unquote_plus(value) account = findaccount(protocol) _______________________________________________ Commits mailing list [email protected] https://pidgin.im/cgi-bin/mailman/listinfo/commits