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 |