diff options
author | renatofilho <renato.filho@openbossa.org> | 2010-09-29 11:15:42 -0300 |
---|---|---|
committer | renatofilho <renato.filho@openbossa.org> | 2010-09-29 11:35:05 -0300 |
commit | 6ad03f2a795563aec47d45d6426639323f981975 (patch) | |
tree | 9038114260789e545f1cfac357ce86b460e07941 /tests/tools/list-class-hierarchy.py | |
parent | 10bb31b434cfea305906aaee02b9a111243daf6b (diff) | |
download | pyside-6ad03f2a795563aec47d45d6426639323f981975.tar.gz pyside-6ad03f2a795563aec47d45d6426639323f981975.tar.xz pyside-6ad03f2a795563aec47d45d6426639323f981975.zip |
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>
Diffstat (limited to 'tests/tools/list-class-hierarchy.py')
-rwxr-xr-x | tests/tools/list-class-hierarchy.py | 78 |
1 files changed, 45 insertions, 33 deletions
diff --git a/tests/tools/list-class-hierarchy.py b/tests/tools/list-class-hierarchy.py index 381efee..a4faf60 100755 --- a/tests/tools/list-class-hierarchy.py +++ b/tests/tools/list-class-hierarchy.py @@ -44,6 +44,7 @@ ignore = ["staticMetaObject", def recurse_into(el,obj): #s = el.split('.')[-1] #pdb.set_trace() + symbols = [] for item in sorted(dir(obj)): if item[0]=='_': continue @@ -52,44 +53,55 @@ def recurse_into(el,obj): mobj = eval(mel) except Exception: continue + if item in ignore: continue - print mel + else: + symbols.append(mel) + if isclass(mobj): - recurse_into(mel,mobj) + symbols += recurse_into(mel,mobj) + + return symbols if __name__=='__main__': - top = sys.argv[1] + modules = [ 'QtCore', + 'QtGui', + 'QtHelp', + #'QtMultimedia', + 'QtNetwork', + 'QtOpenGL', + 'QtScript', + 'QtScriptTools', + 'QtSql', + 'QtSvg', + 'QtTest', + #'QtUiTools', + 'QtWebKit', + 'QtXml', + 'QtXmlPatterns' ] + + libraries = ["PySide", "PyQt4"] + librarySymbols = {} + for l in libraries: + dictionary = [] + if l =="PyQt4": + import sip + sip.setapi('QDate',2) + sip.setapi('QDateTime',2) + sip.setapi('QString',2) + sip.setapi('QTextStream',2) + sip.setapi('QTime',2) + sip.setapi('QUrl',2) + sip.setapi('QVariant',2) - if top=="PyQt4": - import sip - sip.setapi('QDate',2) - sip.setapi('QDateTime',2) - sip.setapi('QString',2) - sip.setapi('QTextStream',2) - sip.setapi('QTime',2) - sip.setapi('QUrl',2) - sip.setapi('QVariant',2) + for m in modules: + exec "from %s import %s" % (l,m) in globals(), locals() + dictionary += recurse_into(m, eval(m)) + librarySymbols[l] = dictionary - if len(sys.argv)>2: - modules = sys.argv[2:] - else: - modules = [ 'QtCore', - 'QtGui', - 'QtHelp', - #'QtMultimedia', - 'QtNetwork', - 'QtOpenGL', - 'QtScript', - 'QtScriptTools', - 'QtSql', - 'QtSvg', - 'QtTest', - #'QtUiTools', - 'QtWebKit', - 'QtXml', - 'QtXmlPatterns' ] + print "PyQt4: ", len(librarySymbols["PyQt4"]), " PySide: ", len(librarySymbols["PySide"]) - for m in modules: - 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 |