On 01/19/2019 06:15 AM, Tony Jones wrote:
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"

Thanks Tony. added changes to handle the conversion of "print >> sys.stderr" in export-to-postgresql.py and export-to-sqlite.py file as well.  revised patch posted.

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:








Reply via email to