Added support on script to compare symbols in both Qt bindings (PySide/PyQt4)
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org>
Marcelo Lira <marcelo.lira@openbossa.org>
This commit is contained in:
parent
10bb31b434
commit
6ad03f2a79
1 changed files with 45 additions and 33 deletions
|
|
@ -44,6 +44,7 @@ ignore = ["staticMetaObject",
|
||||||
def recurse_into(el,obj):
|
def recurse_into(el,obj):
|
||||||
#s = el.split('.')[-1]
|
#s = el.split('.')[-1]
|
||||||
#pdb.set_trace()
|
#pdb.set_trace()
|
||||||
|
symbols = []
|
||||||
for item in sorted(dir(obj)):
|
for item in sorted(dir(obj)):
|
||||||
if item[0]=='_':
|
if item[0]=='_':
|
||||||
continue
|
continue
|
||||||
|
|
@ -52,44 +53,55 @@ def recurse_into(el,obj):
|
||||||
mobj = eval(mel)
|
mobj = eval(mel)
|
||||||
except Exception:
|
except Exception:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if item in ignore:
|
if item in ignore:
|
||||||
continue
|
continue
|
||||||
print mel
|
else:
|
||||||
|
symbols.append(mel)
|
||||||
|
|
||||||
if isclass(mobj):
|
if isclass(mobj):
|
||||||
recurse_into(mel,mobj)
|
symbols += recurse_into(mel,mobj)
|
||||||
|
|
||||||
|
return symbols
|
||||||
|
|
||||||
if __name__=='__main__':
|
if __name__=='__main__':
|
||||||
top = sys.argv[1]
|
modules = [ 'QtCore',
|
||||||
|
'QtGui',
|
||||||
|
'QtHelp',
|
||||||
|
#'QtMultimedia',
|
||||||
|
'QtNetwork',
|
||||||
|
'QtOpenGL',
|
||||||
|
'QtScript',
|
||||||
|
'QtScriptTools',
|
||||||
|
'QtSql',
|
||||||
|
'QtSvg',
|
||||||
|
'QtTest',
|
||||||
|
#'QtUiTools',
|
||||||
|
'QtWebKit',
|
||||||
|
'QtXml',
|
||||||
|
'QtXmlPatterns' ]
|
||||||
|
|
||||||
if top=="PyQt4":
|
libraries = ["PySide", "PyQt4"]
|
||||||
import sip
|
librarySymbols = {}
|
||||||
sip.setapi('QDate',2)
|
for l in libraries:
|
||||||
sip.setapi('QDateTime',2)
|
dictionary = []
|
||||||
sip.setapi('QString',2)
|
if l =="PyQt4":
|
||||||
sip.setapi('QTextStream',2)
|
import sip
|
||||||
sip.setapi('QTime',2)
|
sip.setapi('QDate',2)
|
||||||
sip.setapi('QUrl',2)
|
sip.setapi('QDateTime',2)
|
||||||
sip.setapi('QVariant',2)
|
sip.setapi('QString',2)
|
||||||
|
sip.setapi('QTextStream',2)
|
||||||
|
sip.setapi('QTime',2)
|
||||||
|
sip.setapi('QUrl',2)
|
||||||
|
sip.setapi('QVariant',2)
|
||||||
|
|
||||||
if len(sys.argv)>2:
|
for m in modules:
|
||||||
modules = sys.argv[2:]
|
exec "from %s import %s" % (l,m) in globals(), locals()
|
||||||
else:
|
dictionary += recurse_into(m, eval(m))
|
||||||
modules = [ 'QtCore',
|
librarySymbols[l] = dictionary
|
||||||
'QtGui',
|
|
||||||
'QtHelp',
|
|
||||||
#'QtMultimedia',
|
|
||||||
'QtNetwork',
|
|
||||||
'QtOpenGL',
|
|
||||||
'QtScript',
|
|
||||||
'QtScriptTools',
|
|
||||||
'QtSql',
|
|
||||||
'QtSvg',
|
|
||||||
'QtTest',
|
|
||||||
#'QtUiTools',
|
|
||||||
'QtWebKit',
|
|
||||||
'QtXml',
|
|
||||||
'QtXmlPatterns' ]
|
|
||||||
|
|
||||||
for m in modules:
|
print "PyQt4: ", len(librarySymbols["PyQt4"]), " PySide: ", len(librarySymbols["PySide"])
|
||||||
exec "from %s import %s" % (top,m) in globals(), locals()
|
|
||||||
recurse_into(m,eval(m))
|
for symbol in librarySymbols["PyQt4"]:
|
||||||
|
if not (symbol in librarySymbols["PySide"]):
|
||||||
|
print "Symbol not found in PySide:", symbol
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue