diff options
Diffstat (limited to 'sources/pyside2/tests/tools/list-class-hierarchy.py')
-rwxr-xr-x | sources/pyside2/tests/tools/list-class-hierarchy.py | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/sources/pyside2/tests/tools/list-class-hierarchy.py b/sources/pyside2/tests/tools/list-class-hierarchy.py deleted file mode 100755 index 70075b27e..000000000 --- a/sources/pyside2/tests/tools/list-class-hierarchy.py +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/bin/python - -############################################################################# -## -## Copyright (C) 2016 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the test suite of Qt for Python. -## -## $QT_BEGIN_LICENSE:GPL-EXCEPT$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 3 as published by the Free Software -## Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - - -# This is a small script printing out Qt binding class hierarchies -# for comparison purposes. -# -# Usage: -# -# ./list-class-hierarchy.py PySide2 > pyside2.list -# ./list-class-hierarchy.py PyQt5 > pyqt5.list -# -# meld pyside.list pyqt5.list - -from __future__ import print_function - -import sys -import pdb -from inspect import isclass - -ignore = ["staticMetaObject", - "pyqtConfigure", - "registerUserData", - "thread", - ] - -def recurse_into(el,obj): - #s = el.split('.')[-1] - #pdb.set_trace() - symbols = [] - for item in sorted(dir(obj)): - if item[0]=='_': - continue - mel = el + '.' + item - try: - mobj = eval(mel) - except Exception: - continue - - if item in ignore: - continue - else: - symbols.append(mel) - - if isclass(mobj): - symbols += recurse_into(mel,mobj) - - return symbols - -if __name__=='__main__': - modules = [ 'QtCore', - 'QtGui', - 'QtHelp', - #'QtMultimedia', - 'QtNetwork', - #'QtOpenGL', - 'QtScript', - 'QtScriptTools', - 'QtSql', - 'QtSvg', - 'QtTest', - #'QtUiTools', - 'QtXml', - 'QtXmlPatterns' ] - - libraries = ["PySide2", "PyQt5"] - librarySymbols = {} - for l in libraries: - dictionary = [] - if l =="PyQt5": - 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), globals(), locals()) - dictionary += recurse_into(m, eval(m)) - librarySymbols[l] = dictionary - - print("PyQt5: ", len(librarySymbols["PyQt5"]), " PySide2: ", len(librarySymbols["PySide2"])) - - for symbol in librarySymbols["PyQt5"]: - if not (symbol in librarySymbols["PySide2"]): - print("Symbol not found in PySide2:", symbol) |