|
|
@@ -1,4 +1,6 @@
|
|
|
import sys
|
|
|
+import argparse
|
|
|
+from pathlib import Path
|
|
|
from lxml import etree
|
|
|
|
|
|
node_project = {
|
|
|
@@ -161,7 +163,7 @@ def get_parameters(filename: str) -> dict:
|
|
|
|
|
|
return parameters
|
|
|
|
|
|
-def generate_monitor_xml(filename: str, cal_parameters: list):
|
|
|
+def generate_monitor_xml(filename: str, output: str, cal_parameters: list):
|
|
|
parameters = get_parameters(filename)
|
|
|
|
|
|
# ========= project 根节点 =========
|
|
|
@@ -236,7 +238,7 @@ def generate_monitor_xml(filename: str, cal_parameters: list):
|
|
|
# ========= 写入文件 =========
|
|
|
tree = etree.ElementTree(project)
|
|
|
tree.write(
|
|
|
- "monitor.xml",
|
|
|
+ output,
|
|
|
encoding="UTF-8",
|
|
|
xml_declaration=True,
|
|
|
pretty_print=True
|
|
|
@@ -245,9 +247,27 @@ def generate_monitor_xml(filename: str, cal_parameters: list):
|
|
|
print("canvas count: ", canvas_index)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
- if(len(sys.argv) <= 1):
|
|
|
- print("Missing data process XML file name")
|
|
|
- print("Try run \'python generate_monitor_configure.py dataprocess.xml\'")
|
|
|
+ parser = argparse.ArgumentParser(description="Auto generate test monitor configure file by data process configure file.")
|
|
|
+ parser.add_argument("--dataprocess", type=str, required=True, help="data process configure file (XML file)")
|
|
|
+ parser.add_argument("-o", "--output", type=str, required=True, help="output monitor configure file (XML file)")
|
|
|
+
|
|
|
+ args = parser.parse_args()
|
|
|
+
|
|
|
+ dataprocess_file = args.dataprocess
|
|
|
+ output_file = args.output
|
|
|
+
|
|
|
+ path = Path(dataprocess_file)
|
|
|
+
|
|
|
+ if not path.exists():
|
|
|
+ print("data process configure is not exist.")
|
|
|
+ sys.exit(1)
|
|
|
+
|
|
|
+ if not path.suffix.lower() == ".xml":
|
|
|
+ print("the dataprocess requirement is an XML file")
|
|
|
+ sys.exit(1)
|
|
|
+
|
|
|
+ if not Path(output_file).suffix.lower() == ".xml":
|
|
|
+ print("the output requirement is an XML file")
|
|
|
sys.exit(1)
|
|
|
|
|
|
cal_parameters = [
|
|
|
@@ -255,5 +275,4 @@ if __name__ == "__main__":
|
|
|
"cal_parameter2"
|
|
|
]
|
|
|
|
|
|
- filename = sys.argv[1]
|
|
|
- generate_monitor_xml(filename, cal_parameters)
|
|
|
+ generate_monitor_xml(dataprocess_file, output_file, cal_parameters)
|