Parcourir la source

update auto generate monitor scripts

xuqiang il y a 3 mois
Parent
commit
9aed1cacb4
1 fichiers modifiés avec 26 ajouts et 7 suppressions
  1. 26 7
      tests/generate_monitor_configure.py

+ 26 - 7
tests/generate_monitor_configure.py

@@ -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)