History

perf scripts python: export-to-postgresql.py: Add support for pyside2

pyside2 is the future for pyside support. Note pyside use Qt4 whereas pyside2 uses Qt5.

Adrian Hunter committed 7 years ago

Commit 3cd32161 parent bfb31701 file · +34 −9Browse files

Showing the changes to tools/perf/scripts/python (1 of 1 file). Show all

Unified · Split

tools/perf/scripts/python/export-to-postgresql.py+34−9
@@ -27,18 +27,31 @@ import datetime · 26 unmodified lines
2727 #
2828 # fedora:
2929 #
30−# $ sudo yum install postgresql postgresql-server python-pyside qt-postgresql
30+# $ sudo yum install postgresql postgresql-server qt-postgresql
3131 # $ sudo su - postgres -c initdb
3232 # $ sudo service postgresql start
3333 # $ sudo su - postgres
34−# $ createuser <your user id here>
34+# $ createuser -s <your user id here> # Older versions may not support -s, in which case answer the prompt below:
3535 # Shall the new role be a superuser? (y/n) y
36+# $ sudo yum install python-pyside
37+#
38+# Alternately, to use Python3 and/or pyside 2, one of the following:
39+# $ sudo yum install python3-pyside
40+# $ pip install --user PySide2
41+# $ pip3 install --user PySide2
3642 #
3743 # ubuntu:
3844 #
39−# $ sudo apt-get install postgresql python-pyside.qtsql libqt4-sql-psql
45+# $ sudo apt-get install postgresql
4046 # $ sudo su - postgres
4147 # $ createuser -s <your user id here>
48+# $ sudo apt-get install python-pyside.qtsql libqt4-sql-psql
49+#
50+# Alternately, to use Python3 and/or pyside 2, one of the following:
51+#
52+# $ sudo apt-get install python3-pyside.qtsql libqt4-sql-psql
53+# $ sudo apt-get install python-pyside2.qtsql libqt5sql5-psql
54+# $ sudo apt-get install python3-pyside2.qtsql libqt5sql5-psql
4255 #
4356 # An example of using this script with Intel PT:
4457 #
@@ -199,7 +212,16 @@ import datetime · 154 unmodified lines
199212 # print "{0:>6} {1:>10} {2:>9} {3:<30} {4:>6} {5:<30}".format(query.value(0), query.value(1), query.value(2), query.value(3), query.value(4), query.value(5))
200213 # call_path_id = query.value(6)
201214
202−from PySide.QtSql import *
215+pyside_version_1 = True
216+if not "pyside-version-1" in sys.argv:
217+ try:
218+ from PySide2.QtSql import *
219+ pyside_version_1 = False
220+ except:
221+ pass
222+
223+if pyside_version_1:
224+ from PySide.QtSql import *
203225
204226 if sys.version_info < (3, 0):
205227 def toserverstr(str):
@@ -255,11 +277,12 @@ def printdate(*args, **kw_args): · 49 unmodified lines
255277 print(datetime.datetime.today(), *args, sep=' ', **kw_args)
256278
257279 def usage():
258− printerr("Usage is: export-to-postgresql.py <database name> [<columns>] [<calls>] [<callchains>]")
259− printerr("where: columns 'all' or 'branches'")
260− printerr(" calls 'calls' => create calls and call_paths table")
261− printerr(" callchains 'callchains' => create call_paths table")
262− raise Exception("Too few arguments")
280+ printerr("Usage is: export-to-postgresql.py <database name> [<columns>] [<calls>] [<callchains>] [<pyside-version-1>]");
281+ printerr("where: columns 'all' or 'branches'");
282+ printerr(" calls 'calls' => create calls and call_paths table");
283+ printerr(" callchains 'callchains' => create call_paths table");
284+ printerr(" pyside-version-1 'pyside-version-1' => use pyside version 1");
285+ raise Exception("Too few or bad arguments")
263286
264287 if (len(sys.argv) < 2):
265288 usage()
@@ -281,6 +304,8 @@ for i in range(3,len(sys.argv)): · 15 unmodified lines
281304 perf_db_export_calls = True
282305 elif (sys.argv[i] == "callchains"):
283306 perf_db_export_callchains = True
307+ elif (sys.argv[i] == "pyside-version-1"):
308+ pass
284309 else:
285310 usage()
286311