aboutsummaryrefslogtreecommitdiff
path: root/community/telepathy-idle/python3.patch
blob: 2deddee4b2b45c3218816c5e8ce645d45e350069 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
Taken from https://github.com/TelepathyIM/telepathy-idle/pull/8

From e8d12395db956727b037cefdf0e60ed409f0b33a Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Tue, 17 Mar 2020 09:15:02 +0100
Subject: [PATCH 1/2] tools: Fix errors running glib-ginterface-gen under
 Python3

1)
    print """\
<snip>
            dbus_g_method_return_error (context, ...)
"""
          ^
SyntaxError: invalid syntax

2)

Traceback (most recent call last):
  File "./tools/glib-ginterface-gen.py", line 30, in <module>
    from libglibcodegen import Signature, type_to_gtype, cmp_by_name, \
  File "/home/hadess/Projects/Fedora/merged/telepathy-idle/master/telepathy-idle-0.2.0/tools/libglibcodegen.py", line 157
    raise Exception, "can't index a hashtable off non-basic type " + s
                   ^
SyntaxError: invalid syntax

3)

Traceback (most recent call last):
  File "./tools/glib-ginterface-gen.py", line 30, in <module>
    from libglibcodegen import Signature, type_to_gtype, cmp_by_name, \
  File "/home/hadess/Projects/Fedora/merged/telepathy-idle/master/telepathy-idle-0.2.0/tools/libglibcodegen.py", line 172
    raise Exception, "don't know the GType for " + s
                   ^
SyntaxError: invalid syntax

4)

Traceback (most recent call last):
  File "../tools/glib-ginterface-gen.py", line 839, in <module>
    Generator(dom, prefix, basename, signal_marshal_prefix, headers,
  File "../tools/glib-ginterface-gen.py", line 736, in __call__
    nodes.sort(cmp_by_name)
TypeError: sort() takes no positional arguments
---
 tools/glib-ginterface-gen.py | 7 ++++---
 tools/libglibcodegen.py      | 4 ++--
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/tools/glib-ginterface-gen.py b/tools/glib-ginterface-gen.py
index 8fea5df..e32d7b8 100644
--- a/tools/glib-ginterface-gen.py
+++ b/tools/glib-ginterface-gen.py
@@ -22,6 +22,7 @@
 # License along with this library; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
+import functools
 import sys
 import os.path
 import xml.dom.minidom
@@ -733,7 +734,7 @@ def have_properties(self, nodes):
 
     def __call__(self):
         nodes = self.dom.getElementsByTagName('node')
-        nodes.sort(cmp_by_name)
+        nodes.sort(key=functools.cmp_to_key(cmp_by_name))
 
         self.h('#include <glib-object.h>')
         self.h('#include <dbus/dbus-glib.h>')
@@ -768,7 +769,7 @@ def __call__(self):
         file_set_contents(self.basename + '-gtk-doc.h', '\n'.join(self.__docs))
 
 def cmdline_error():
-    print """\
+    print ("""\
 usage:
     gen-ginterface [OPTIONS] xmlfile Prefix_
 options:
@@ -788,7 +789,7 @@ def cmdline_error():
             void symbol (DBusGMethodInvocation *context)
         and return some sort of "not implemented" error via
             dbus_g_method_return_error (context, ...)
-"""
+""")
     sys.exit(1)
 
 
diff --git a/tools/libglibcodegen.py b/tools/libglibcodegen.py
index 6a9d214..2c9f164 100644
--- a/tools/libglibcodegen.py
+++ b/tools/libglibcodegen.py
@@ -154,7 +154,7 @@ def type_to_gtype(s):
         return ("GHashTable *", "DBUS_TYPE_G_STRING_STRING_HASHTABLE", "BOXED", False)
     elif s[:2] == 'a{':  #some arbitrary hash tables
         if s[2] not in ('y', 'b', 'n', 'q', 'i', 'u', 's', 'o', 'g'):
-            raise Exception, "can't index a hashtable off non-basic type " + s
+            raise Exception("can't index a hashtable off non-basic type " + s)
         first = type_to_gtype(s[2])
         second = type_to_gtype(s[3:-1])
         return ("GHashTable *", "(dbus_g_type_get_map (\"GHashTable\", " + first[1] + ", " + second[1] + "))", "BOXED", False)
@@ -169,4 +169,4 @@ def type_to_gtype(s):
         return ("GValueArray *", gtype, "BOXED", True)
 
     # we just don't know ..
-    raise Exception, "don't know the GType for " + s
+    raise(Exception, "don't know the GType for " + s)

From 8cdedc1d6716b2bb8ac7a95a00cf696f82ebbc38 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Tue, 17 Mar 2020 09:37:04 +0100
Subject: [PATCH 2/2] tools: Remove outdated "is unicode" checks

Those aren't needed in Python3, the strings should already be UTF-8.

Traceback (most recent call last):
  File "../tools/glib-ginterface-gen.py", line 840, in <module>
    Generator(dom, prefix, basename, signal_marshal_prefix, headers,
  File "../tools/glib-ginterface-gen.py", line 739, in __call__
    self.h('#include <glib-object.h>')
  File "../tools/glib-ginterface-gen.py", line 89, in h
    if isinstance(s, unicode):
NameError: name 'unicode' is not defined
---
 tools/glib-ginterface-gen.py | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/tools/glib-ginterface-gen.py b/tools/glib-ginterface-gen.py
index e32d7b8..995d874 100644
--- a/tools/glib-ginterface-gen.py
+++ b/tools/glib-ginterface-gen.py
@@ -86,18 +86,12 @@ def __init__(self, dom, prefix, basename, signal_marshal_prefix,
         self.allow_havoc = allow_havoc
 
     def h(self, s):
-        if isinstance(s, unicode):
-            s = s.encode('utf-8')
         self.__header.append(s)
 
     def b(self, s):
-        if isinstance(s, unicode):
-            s = s.encode('utf-8')
         self.__body.append(s)
 
     def d(self, s):
-        if isinstance(s, unicode):
-            s = s.encode('utf-8')
         self.__docs.append(s)
 
     def do_node(self, node):