pidgin-py3-fixes.patch 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. diff -uprb pidgin-2.10.12.orig/libpurple/purple-remote pidgin-2.10.12/libpurple/purple-remote
  2. --- pidgin-2.10.12.orig/libpurple/purple-remote 2016-01-01 01:19:41.000000000 +0200
  3. +++ pidgin-2.10.12/libpurple/purple-remote 2016-01-02 06:23:14.082831498 +0200
  4. @@ -3,13 +3,20 @@
  5. import codecs
  6. import dbus
  7. import re
  8. -import urllib
  9. import sys
  10. +try:
  11. + from urllib.parse import unquote
  12. +except ImportError:
  13. + from urllib import unquote
  14. import xml.dom.minidom
  15. -sys.stdin = codecs.getwriter('utf-8')(sys.stdin);
  16. -sys.stdout = codecs.getwriter('utf-8')(sys.stdout);
  17. +if sys.version_info[0] >= 3:
  18. + sys.stdin = codecs.getwriter('utf-8')(sys.stdin.buffer)
  19. + sys.stdout = codecs.getwriter('utf-8')(sys.stdout.buffer)
  20. +else:
  21. + sys.stdin = codecs.getwriter('utf-8')(sys.stdin)
  22. + sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
  23. xml.dom.minidom.Element.all = xml.dom.minidom.Element.getElementsByTagName
  24. @@ -41,7 +48,7 @@ class CheckedAttribute:
  25. return result
  26. def show_help(requested=False):
  27. - print """This program uses D-Bus to communicate with purple.
  28. + print("""This program uses D-Bus to communicate with purple.
  29. Usage:
  30. @@ -72,7 +79,7 @@ Examples of commands:
  31. PurpleAccountsFindConnected?name=&protocol=prpl-jabber
  32. PurpleAccountsFindConnected(,prpl-jabber)
  33. -""" % sys.argv[0]
  34. +""" % sys.argv[0])
  35. if (requested):
  36. sys.exit(0)
  37. else:
  38. @@ -120,7 +127,7 @@ def execute(uri):
  39. if paramstring is not None:
  40. for param in paramstring.split("&"):
  41. key, value = extendlist(param.split("=",1), 2, "")
  42. - params[key] = urllib.unquote(value)
  43. + params[key] = unquote(value)
  44. accountname = params.get("account", "")
  45. @@ -233,12 +240,11 @@ if len(sys.argv) == 1:
  46. elif (sys.argv[1] == "--help" or sys.argv[1] == "-h"):
  47. show_help(True)
  48. elif (obj == None):
  49. - print "No existing libpurple instance detected."
  50. + print("No existing libpurple instance detected.")
  51. sys.exit(1);
  52. for arg in sys.argv[1:]:
  53. output = execute(arg)
  54. if (output != None):
  55. - print output
  56. -
  57. + print(output)