src/eric7/Project/UicLoadUi5.py

branch
eric7
changeset 9560
abffba70297f
parent 9473
3f23dbf37dbe
child 9576
be9f8e7e42e0
equal deleted inserted replaced
9559:34fc53e6159d 9560:abffba70297f
9 9
10 import contextlib 10 import contextlib
11 import json 11 import json
12 import sys 12 import sys
13 import xml.etree.ElementTree # secok 13 import xml.etree.ElementTree # secok
14
15
16 def _printout(dataString):
17 """
18 Function to print the given string to sys.stdout with a guard string.
19
20 @param dataString string to be printed
21 @type str
22 """
23 print("@@eric_start@@{0}@@eric_end@@".format(dataString), file=sys.stderr)
14 24
15 try: 25 try:
16 from PyQt5 import uic 26 from PyQt5 import uic
17 from PyQt5.QtCore import QByteArray, QMetaMethod 27 from PyQt5.QtCore import QByteArray, QMetaMethod
18 from PyQt5.QtWidgets import QAction, QApplication, QWidget 28 from PyQt5.QtWidgets import QAction, QApplication, QWidget
19 except ModuleNotFoundError: 29 except ModuleNotFoundError:
20 print("PyQt5 could not be found.") 30 _printout("PyQt5 could not be found.")
21 sys.exit(1) 31 sys.exit(1)
22 except ImportError as err: 32 except ImportError as err:
23 print("PyQt5 could not be imported. Issue: {0}".format(str(err))) 33 _printout("PyQt5 could not be imported. Issue: {0}".format(str(err)))
24 sys.exit(1) 34 sys.exit(1)
25 35
26 with contextlib.suppress(ImportError): 36 with contextlib.suppress(ImportError):
27 from PyQt5 import QtWebEngineWidgets # __IGNORE_WARNING__ 37 from PyQt5 import QtWebEngineWidgets # __IGNORE_WARNING__
28 38
39 sys.path.append(projectPath) 49 sys.path.append(projectPath)
40 50
41 app = QApplication([]) # __IGNORE_WARNING__ 51 app = QApplication([]) # __IGNORE_WARNING__
42 try: 52 try:
43 dlg = uic.loadUi(formFile, package=projectPath) 53 dlg = uic.loadUi(formFile, package=projectPath)
44 print(dlg.objectName()) 54 _printout(dlg.objectName())
45 sys.exit(0) 55 sys.exit(0)
46 except (AttributeError, ImportError, xml.etree.ElementTree.ParseError) as err: 56 except (AttributeError, ImportError, xml.etree.ElementTree.ParseError) as err:
47 print(str(err)) 57 _printout(str(err))
48 sys.exit(1) 58 sys.exit(1)
49 59
50 60
51 def className(formFile, projectPath): 61 def className(formFile, projectPath):
52 """ 62 """
60 sys.path.append(projectPath) 70 sys.path.append(projectPath)
61 71
62 app = QApplication([]) # __IGNORE_WARNING__ 72 app = QApplication([]) # __IGNORE_WARNING__
63 try: 73 try:
64 dlg = uic.loadUi(formFile, package=projectPath) 74 dlg = uic.loadUi(formFile, package=projectPath)
65 print(dlg.metaObject().className()) 75 _printout(dlg.metaObject().className())
66 sys.exit(0) 76 sys.exit(0)
67 except (AttributeError, ImportError, xml.etree.ElementTree.ParseError) as err: 77 except (AttributeError, ImportError, xml.etree.ElementTree.ParseError) as err:
68 print(str(err)) 78 _printout(str(err))
69 sys.exit(1) 79 sys.exit(1)
70 80
71 81
72 def __mapType(type_): 82 def __mapType(type_):
73 """ 83 """
188 198
189 objectDict["methods"].append(signatureDict) 199 objectDict["methods"].append(signatureDict)
190 200
191 objectsList.append(objectDict) 201 objectsList.append(objectDict)
192 202
193 print(json.dumps(objectsList)) 203 _printout(json.dumps(objectsList))
194 sys.exit(0) 204 sys.exit(0)
195 except (AttributeError, ImportError, xml.etree.ElementTree.ParseError) as err: 205 except (AttributeError, ImportError, xml.etree.ElementTree.ParseError) as err:
196 print(str(err)) 206 _printout(str(err))
197 sys.exit(1) 207 sys.exit(1)
198 208
199 209
200 if __name__ == "__main__": 210 if __name__ == "__main__":
201 if len(sys.argv) != 4: 211 if len(sys.argv) != 4:
202 print("Wrong number of arguments.") 212 _printout("Wrong number of arguments.")
203 sys.exit(1) 213 sys.exit(1)
204 214
205 if sys.argv[1] == "object_name": 215 if sys.argv[1] == "object_name":
206 objectName(sys.argv[2], sys.argv[3]) 216 objectName(sys.argv[2], sys.argv[3])
207 elif sys.argv[1] == "class_name": 217 elif sys.argv[1] == "class_name":
208 className(sys.argv[2], sys.argv[3]) 218 className(sys.argv[2], sys.argv[3])
209 elif sys.argv[1] == "signatures": 219 elif sys.argv[1] == "signatures":
210 signatures(sys.argv[2], sys.argv[3]) 220 signatures(sys.argv[2], sys.argv[3])
211 else: 221 else:
212 print("Unknow operation given.") 222 _printout("Unknow operation given.")
213 sys.exit(1) 223 sys.exit(1)
214 224
215 # 225 #
216 # eflag: noqa = M701, M801 226 # eflag: noqa = M701, M801

eric ide

mercurial