mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: seeteena <s1seetee@linux.vnet.ibm.com>
To: Tony Jones <tonyj@suse.de>,
	peterz@infradead.org, mingo@redhat.com, acme@kernel.org,
	alexander.shishkin@linux.intel.com, jolsa@redhat.com,
	namhyung@kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] perf scripts python: Add Python 3 support to exported-sql-viewer.py
Date: Mon, 21 Jan 2019 16:15:39 +0530	[thread overview]
Message-ID: <4ce6c071-231e-7682-609e-dfc1d1d1e305@linux.vnet.ibm.com> (raw)
In-Reply-To: <f086e4fb-0bbf-9e21-25e2-708b092f1636@suse.de>



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:
>
>
>
>
>




  parent reply	other threads:[~2019-01-21 10:45 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-17  9:45 [PATCH v2] perf scripts python: Add Python 3 support to check-perf-trace.py Seeteena Thoufeek
2019-01-17  9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to event_analyzing_sample.py Seeteena Thoufeek
2019-01-17  9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to exported-sql-viewer.py Seeteena Thoufeek
2019-01-19  0:45   ` Tony Jones
2019-01-20 19:27     ` Jonathan Corbet
2019-01-20 20:50       ` Tony Jones
2019-01-21 10:45     ` seeteena [this message]
2019-01-17  9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to export-to-sqlite.py Seeteena Thoufeek
2019-01-19  1:05   ` Tony Jones
2019-01-17  9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to failed-syscalls-by-pid.py Seeteena Thoufeek
2019-01-19  1:12   ` Tony Jones
2019-01-19  2:37     ` Tony Jones
2019-01-17  9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to futex-contention.py Seeteena Thoufeek
2019-01-17  9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to intel-pt-events.py Seeteena Thoufeek
2019-01-19  1:16   ` Tony Jones
2019-01-17  9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to mem-phys-addr.py Seeteena Thoufeek
2019-01-17  9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to netdev-times.py Seeteena Thoufeek
2019-01-19  1:21   ` Tony Jones
2019-01-17  9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to net_dropmonitor.py Seeteena Thoufeek
2019-01-17  9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to powerpc-hcalls.py Seeteena Thoufeek
2019-01-17  9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to sctop.py Seeteena Thoufeek
2019-01-19  1:27   ` Tony Jones
2019-01-17  9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to stackcollapse.py Seeteena Thoufeek
2019-01-19  1:46   ` Tony Jones
2019-01-17  9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to stat-cpi.py Seeteena Thoufeek
2019-01-17  9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to syscall-counts-by-pid.py Seeteena Thoufeek
2019-01-19  0:53   ` Tony Jones
2019-01-17  9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to syscall-counts.py Seeteena Thoufeek
2019-01-17  9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to export-to-postgresql.py Seeteena Thoufeek
2019-01-17 12:32 ` [PATCH v2] perf scripts python: Add Python 3 support to check-perf-trace.py Jiri Olsa
2019-01-17 13:23   ` Ravi Bangoria
2019-01-19  0:29   ` Tony Jones
2019-01-19  2:05     ` Tony Jones
2019-01-19  0:59 ` Tony Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4ce6c071-231e-7682-609e-dfc1d1d1e305@linux.vnet.ibm.com \
    --to=s1seetee@linux.vnet.ibm.com \
    --cc=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tonyj@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®