From e8d12395db956727b037cefdf0e60ed409f0b33a Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Tue, 17 Mar 2020 09:15:02 +0100 Subject: [PATCH 1/2] tools: Fix errors running glib-ginterface-gen under Python3 1) print """\ dbus_g_method_return_error (context, ...) """ ^ SyntaxError: invalid syntax 2) Traceback (most recent call last): File "./tools/glib-ginterface-gen.py", line 30, in 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 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 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 @@ class Generator(object): 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 ') self.h('#include ') @@ -768,7 +769,7 @@ class Generator(object): 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 @@ options: 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) -- 2.25.1