src/eric7/Project/UicLoadUi6.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9278
36448ca469c2
--- a/src/eric7/Project/UicLoadUi6.py	Wed Jul 13 11:16:20 2022 +0200
+++ b/src/eric7/Project/UicLoadUi6.py	Wed Jul 13 14:55:47 2022 +0200
@@ -10,7 +10,7 @@
 import os
 import sys
 import json
-import xml.etree.ElementTree            # secok
+import xml.etree.ElementTree  # secok
 import contextlib
 
 try:
@@ -26,7 +26,7 @@
     sys.exit(1)
 
 with contextlib.suppress(ImportError):
-    from PyQt6 import QtWebEngineWidgets    # __IGNORE_WARNING__
+    from PyQt6 import QtWebEngineWidgets  # __IGNORE_WARNING__
 
 sys.path.append(os.path.dirname(os.path.dirname(__file__)))
 # add the eric package directory
@@ -35,21 +35,20 @@
 def objectName(formFile, projectPath):
     """
     Function to get the object name of a form.
-    
+
     @param formFile file name of the form
     @type str
     @param projectPath directory name of the project
     @type str
     """
     sys.path.append(projectPath)
-    
-    app = QApplication([])      # __IGNORE_WARNING__
+
+    app = QApplication([])  # __IGNORE_WARNING__
     try:
         dlg = uic.loadUi(formFile, package=projectPath)
         print(dlg.objectName())
         sys.exit(0)
-    except (AttributeError, ImportError,
-            xml.etree.ElementTree.ParseError) as err:
+    except (AttributeError, ImportError, xml.etree.ElementTree.ParseError) as err:
         print(str(err))
         sys.exit(1)
 
@@ -57,21 +56,20 @@
 def className(formFile, projectPath):
     """
     Function to get the class name of a form.
-    
+
     @param formFile file name of the form
     @type str
     @param projectPath directory name of the project
     @type str
     """
     sys.path.append(projectPath)
-    
-    app = QApplication([])      # __IGNORE_WARNING__
+
+    app = QApplication([])  # __IGNORE_WARNING__
     try:
         dlg = uic.loadUi(formFile, package=projectPath)
         print(dlg.metaObject().className())
         sys.exit(0)
-    except (AttributeError, ImportError,
-            xml.etree.ElementTree.ParseError) as err:
+    except (AttributeError, ImportError, xml.etree.ElementTree.ParseError) as err:
         print(str(err))
         sys.exit(1)
 
@@ -80,47 +78,43 @@
     """
     Private function to map a type as reported by Qt's meta object to the
     correct Python type.
-    
+
     @param type_ type as reported by Qt
     @type QByteArray or bytes
     @return mapped Python type
     @rtype str
     """
     mapped = bytes(type_).decode()
-    
+
     # I. always check for *
     mapped = mapped.replace("*", "")
-    
+
     # 1. check for const
     mapped = mapped.replace("const ", "")
-    
+
     # 2. replace QString and QStringList
-    mapped = (
-        mapped
-        .replace("QStringList", "list")
-        .replace("QString", "str")
-    )
-    
+    mapped = mapped.replace("QStringList", "list").replace("QString", "str")
+
     # 3. replace double by float
     mapped = mapped.replace("double", "float")
-    
+
     return mapped
 
 
 def signatures(formFile, projectPath):
     """
     Function to get the signatures of form elements.
-    
+
     @param formFile file name of the form
     @type str
     @param projectPath directory name of the project
     @type str
     """
     sys.path.append(projectPath)
-    
+
     objectsList = []
-    
-    app = QApplication([])      # __IGNORE_WARNING__
+
+    app = QApplication([])  # __IGNORE_WARNING__
     try:
         dlg = uic.loadUi(formFile, package=projectPath)
         objects = dlg.findChildren(QWidget) + dlg.findChildren(QAction)
@@ -129,51 +123,48 @@
             if not name or name.startswith("qt_"):
                 # ignore un-named or internal objects
                 continue
-            
+
             metaObject = obj.metaObject()
             objectDict = {
                 "name": name,
                 "class_name": metaObject.className(),
                 "methods": [],
             }
-            
+
             for index in range(metaObject.methodCount()):
                 metaMethod = metaObject.method(index)
                 if metaMethod.methodType() == QMetaMethod.MethodType.Signal:
-                    signatureDict = {
-                        "methods": []
-                    }
+                    signatureDict = {"methods": []}
                     signatureDict["signature"] = "on_{0}_{1}".format(
-                        name,
-                        bytes(metaMethod.methodSignature()).decode()
+                        name, bytes(metaMethod.methodSignature()).decode()
+                    )
+
+                    signatureDict["methods"].append(
+                        "on_{0}_{1}".format(
+                            name,
+                            bytes(metaMethod.methodSignature()).decode().split("(")[0],
+                        )
                     )
-                    
-                    signatureDict["methods"].append("on_{0}_{1}".format(
-                        name,
-                        bytes(metaMethod.methodSignature())
-                        .decode().split("(")[0]
-                    ))
-                    signatureDict["methods"].append("{0}({1})".format(
-                        signatureDict["methods"][-1],
-                        ", ".join([
-                            __mapType(t)
-                            for t in metaMethod.parameterTypes()
-                        ])
-                    ))
-                    
-                    returnType = __mapType(
-                        metaMethod.typeName().encode())
-                    if returnType == 'void':
+                    signatureDict["methods"].append(
+                        "{0}({1})".format(
+                            signatureDict["methods"][-1],
+                            ", ".join(
+                                [__mapType(t) for t in metaMethod.parameterTypes()]
+                            ),
+                        )
+                    )
+
+                    returnType = __mapType(metaMethod.typeName().encode())
+                    if returnType == "void":
                         returnType = ""
                     signatureDict["return_type"] = returnType
                     parameterTypesList = [
-                        __mapType(t)
-                        for t in metaMethod.parameterTypes()
+                        __mapType(t) for t in metaMethod.parameterTypes()
                     ]
                     signatureDict["parameter_types"] = parameterTypesList
                     pyqtSignature = ", ".join(parameterTypesList)
                     signatureDict["pyqt_signature"] = pyqtSignature
-                    
+
                     parameterNames = metaMethod.parameterNames()
                     if parameterNames:
                         for index in range(len(parameterNames)):
@@ -181,32 +172,30 @@
                                 parameterNames[index] = QByteArray(
                                     "p{0:d}".format(index).encode("utf-8")
                                 )
-                    parameterNamesList = [bytes(n).decode()
-                                          for n in parameterNames]
+                    parameterNamesList = [bytes(n).decode() for n in parameterNames]
                     signatureDict["parameter_names"] = parameterNamesList
                     methNamesSig = ", ".join(parameterNamesList)
-                    
+
                     if methNamesSig:
                         pythonSignature = "on_{0}_{1}(self, {2})".format(
                             name,
-                            bytes(metaMethod.methodSignature())
-                            .decode().split("(")[0],
-                            methNamesSig)
+                            bytes(metaMethod.methodSignature()).decode().split("(")[0],
+                            methNamesSig,
+                        )
                     else:
                         pythonSignature = "on_{0}_{1}(self)".format(
                             name,
-                            bytes(metaMethod.methodSignature())
-                            .decode().split("(")[0])
+                            bytes(metaMethod.methodSignature()).decode().split("(")[0],
+                        )
                     signatureDict["python_signature"] = pythonSignature
-                    
+
                     objectDict["methods"].append(signatureDict)
-            
+
             objectsList.append(objectDict)
-        
+
         print(json.dumps(objectsList))
         sys.exit(0)
-    except (AttributeError, ImportError,
-            xml.etree.ElementTree.ParseError) as err:
+    except (AttributeError, ImportError, xml.etree.ElementTree.ParseError) as err:
         print(str(err))
         sys.exit(1)
 
@@ -215,7 +204,7 @@
     if len(sys.argv) != 4:
         print("Wrong number of arguments.")
         sys.exit(1)
-    
+
     if sys.argv[1] == "object_name":
         objectName(sys.argv[2], sys.argv[3])
     elif sys.argv[1] == "class_name":
@@ -225,6 +214,6 @@
     else:
         print("Unknow operation given.")
         sys.exit(1)
-    
+
 #
 # eflag: noqa = M701, M801

eric ide

mercurial