[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <4ce6c071-231e-7682-609e-dfc1d1d1e305@linux.vnet.ibm.com>
Date: Mon, 21 Jan 2019 16:15:39 +0530
From: seeteena <s1seetee@...ux.vnet.ibm.com>
To: Tony Jones <tonyj@...e.de>, peterz@...radead.org, mingo@...hat.com,
acme@...nel.org, alexander.shishkin@...ux.intel.com,
jolsa@...hat.com, namhyung@...nel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] perf scripts python: Add Python 3 support to
exported-sql-viewer.py
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:
>
>
>
>
>
Powered by blists - more mailing lists