Messages in this thread Patch in this message | | | Subject | Re: [PATCH v2] perf scripts python: Add Python 3 support to exported-sql-viewer.py | From | Tony Jones <> | Date | Fri, 18 Jan 2019 16:45:04 -0800 |
| |
On 1/17/19 1:45 AM, Seeteena Thoufeek wrote:
> +if sys.version_info[0] < 3: > + import cPickle > +else: > + import _pickle as cPickle
Do you really need this?
pickle is already in Python2.
Also, did you test these changes on Python3?
I think you'll find you also need the following hunk otherwise you're running into Unicode diffs on Py3.
@@ -2590,8 +2590,8 @@ def Main():
is_sqlite3 = False try: - f = open(dbname) - if f.read(15) == "SQLite format 3": + f = open(dbname, "rb") + if f.read(15) == b'SQLite format 3': is_sqlite3 = True f.close() except:
Plus you need to handle the conversion of "print >> sys.stderr"
Attached is my version (against tip):
--- a/tools/perf/scripts/python/exported-sql-viewer.py +++ b/tools/perf/scripts/python/exported-sql-viewer.py @@ -91,7 +91,7 @@ import sys import weakref import threading import string -import cPickle +import pickle import re import os from PySide.QtCore import * @@ -1559,7 +1559,7 @@ class SQLTableDialogDataItem(): return str(lower_id) def ConvertRelativeTime(self, val): - print "val ", val + print("val ", val) mult = 1 suffix = val[-2:] if suffix == "ms": @@ -1581,29 +1581,29 @@ class SQLTableDialogDataItem(): return str(val) def ConvertTimeRange(self, vrange): - print "vrange ", vrange + print("vrange ", vrange) if vrange[0] == "": vrange[0] = str(self.first_time) if vrange[1] == "": vrange[1] = str(self.last_time) vrange[0] = self.ConvertRelativeTime(vrange[0]) vrange[1] = self.ConvertRelativeTime(vrange[1]) - print "vrange2 ", vrange + print("vrange2 ", vrange) if not self.IsNumber(vrange[0]) or not self.IsNumber(vrange[1]): return False - print "ok1" + print("ok1") beg_range = max(int(vrange[0]), self.first_time) end_range = min(int(vrange[1]), self.last_time) if beg_range > self.last_time or end_range < self.first_time: return False - print "ok2" + print("ok2") vrange[0] = self.BinarySearchTime(0, self.last_id, beg_range, True) vrange[1] = self.BinarySearchTime(1, self.last_id + 1, end_range, False) - print "vrange3 ", vrange + print("vrange3 ", vrange) return True def AddTimeRange(self, value, ranges): - print "value ", value + print("value ", value) n = value.count("-") if n == 1: pass @@ -2577,7 +2577,7 @@ class DBRef(): def Main(): if (len(sys.argv) < 2): - print >> sys.stderr, "Usage is: exported-sql-viewer.py {<database name> | --help-only}" + sys.stderr.write("Usage is: exported-sql-viewer.py {<database name> | --help-only}\n"); raise Exception("Too few arguments") dbname = sys.argv[1] @@ -2590,8 +2590,8 @@ def Main(): is_sqlite3 = False try: - f = open(dbname) - if f.read(15) == "SQLite format 3": + f = open(dbname, "rb") + if f.read(15) == b'SQLite format 3': is_sqlite3 = True f.close() except:
| |