>From 6b2176f8d859044e331369d69b97454f905ee603 Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Thu, 29 Jan 2015 10:32:23 +0100 Subject: [PATCH 03/18] sbus_codegen: Port to python3 Resolves: https://fedorahosted.org/sssd/ticket/2017 --- src/sbus/sbus_codegen | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/sbus/sbus_codegen b/src/sbus/sbus_codegen index 4ab7a5498305ff69a692f0cf2fc42622f3fb3a06..61d2def085f29b87a3bf1c9f6455fe72271b52af 100755 --- a/src/sbus/sbus_codegen +++ b/src/sbus/sbus_codegen @@ -60,14 +60,19 @@ # to generate for a given interface or method. By default the codegen will # build up a symbol name from the DBus name. # +from __future__ import print_function import optparse import os import re -import StringIO import sys import xml.parsers.expat +if sys.version_info[0] > 2: + import io as StringIO +else: + import StringIO + # ----------------------------------------------------------------------------- # Objects @@ -765,13 +770,13 @@ class DBusXMLParser: self.arg_count = 0 try: - with open(filename, "r") as f: + with open(filename, "rb") as f: parser.ParseFile(f) - except DBusXmlException, ex: + except DBusXmlException as ex: ex.line = parser.CurrentLineNumber ex.file = filename raise - except xml.parsers.expat.ExpatError, ex: + except xml.parsers.expat.ExpatError as ex: exc = DBusXmlException(str(ex)) exc.line = ex.lineno exc.file = filename @@ -895,11 +900,11 @@ def parse_options(): (options, args) = parser.parse_args() if not args: - print >> sys.stderr, "sbus_codegen: no input file specified" + print("sbus_codegen: no input file specified", file=sys.stderr) sys.exit(2) if options.mode not in ["header", "source"]: - print >> sys.stderr, "sbus_codegen: specify --mode=header or --mode=source" + print("sbus_codegen: specify --mode=header or --mode=source", file=sys.stderr) return options, args @@ -928,6 +933,6 @@ def main(): if __name__ == "__main__": try: main() - except DBusXmlException, ex: - print >> sys.stderr, str(ex) + except DBusXmlException as ex: + print(str(ex), file=sys.stderr) sys.exit(1) -- 2.1.0