From 48e4d3893b1015764fee71e676dc3de30dd3a64b Mon Sep 17 00:00:00 2001 From: Anthony King Date: Sat, 31 Oct 2015 14:54:16 -0400 Subject: py3: merge-event-log-tags Change-Id: I875d48c67efa129e800bcc834f41d39fc25a62e4 --- tools/merge-event-log-tags.py | 39 ++++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 13 deletions(-) (limited to 'tools/merge-event-log-tags.py') diff --git a/tools/merge-event-log-tags.py b/tools/merge-event-log-tags.py index 64bad3f..65580f6 100755 --- a/tools/merge-event-log-tags.py +++ b/tools/merge-event-log-tags.py @@ -24,7 +24,8 @@ and fails if they do. -h to display this usage message and exit. """ -import cStringIO +from __future__ import print_function + import getopt try: import hashlib @@ -33,8 +34,20 @@ except ImportError: import struct import sys +try: + from cStringIO import StringIO +except ImportError: + from io import StringIO + import event_log_tags + +def itermitems(obj): + if hasattr(obj, 'iteritems'): + return obj.iteritems() + return obj.items() + + errors = [] warnings = [] @@ -48,21 +61,21 @@ ASSIGN_LIMIT = 1000000 try: opts, args = getopt.getopt(sys.argv[1:], "ho:m:") -except getopt.GetoptError, err: - print str(err) - print __doc__ +except getopt.GetoptError as err: + print(str(err)) + print(__doc__) sys.exit(2) for o, a in opts: if o == "-h": - print __doc__ + print(__doc__) sys.exit(2) elif o == "-o": output_file = a elif o == "-m": pre_merged_file = a else: - print >> sys.stderr, "unhandled option %s" % (o,) + print("unhandled option %s" % (o,), file=sys.stderr) sys.exit(1) # Restrictions on tags: @@ -133,12 +146,12 @@ for fn in args: if errors: for fn, ln, msg in errors: - print >> sys.stderr, "%s:%d: error: %s" % (fn, ln, msg) + print("%s:%d: error: %s" % (fn, ln, msg), file=sys.stderr) sys.exit(1) if warnings: for fn, ln, msg in warnings: - print >> sys.stderr, "%s:%d: warning: %s" % (fn, ln, msg) + print("%s:%d: warning: %s" % (fn, ln, msg), file=sys.stderr) # Python's hash function (a) isn't great and (b) varies between # versions of python. Using md5 is overkill here but is the same from @@ -154,14 +167,14 @@ def hashname(str): # If we were provided pre-merged tags (w/ the -m option), then don't # ever try to allocate one, just fail if we don't have a number -for name, t in sorted(by_tagname.iteritems()): +for name, t in sorted(iteritems(by_tagname)): if t.tagnum is None: if pre_merged_tags: try: t.tagnum = pre_merged_tags[t.tagname] except KeyError: - print >> sys.stderr, ("Error: Tag number not defined for tag `%s'." - +" Have you done a full build?") % t.tagname + print("Error: Tag number not defined for tag `%s'." + " Have you done a full build?" % t.tagname, file=sys.stderr) sys.exit(1) else: while True: @@ -174,8 +187,8 @@ for name, t in sorted(by_tagname.iteritems()): # by_tagnum should be complete now; we've assigned numbers to all tags. -buffer = cStringIO.StringIO() -for n, t in sorted(by_tagnum.iteritems()): +buffer = StringIO() +for n, t in sorted(iteritems(by_tagnum)): if t.description: buffer.write("%d %s %s\n" % (t.tagnum, t.tagname, t.description)) else: -- cgit v1.1