Create an init version of a network viewer 23/11923/1
authorMartin Skorupski <martin.skorupski@highstreet-technologies.com>
Sat, 14 Oct 2023 16:23:56 +0000 (18:23 +0200)
committerMartin Skorupski <martin.skorupski@highstreet-technologies.com>
Sat, 14 Oct 2023 16:24:01 +0000 (18:24 +0200)
- update app function for init generation of json, svg and kml

Issue-ID: OAM-363
Change-Id: Ib40e8a9837c139e49ced91749062a76e28b80c60
Signed-off-by: Martin Skorupski <martin.skorupski@highstreet-technologies.com>
code/network-generator/network_generator.py

index 48fed59..054a23f 100644 (file)
 """
 Module as entry point to generate an ietf topology json
 """
+import os
 import sys
 
-from model.python.Countries import Country
-from model.python.TypeDefinitions import AddressType
-from model.python.ORanFunction import ORanFunction
+from view.network_viewer import NetworkViewer
+from controller.network_generator import NetworkGenerator
 from controller.parameter_validator import ParameterValidator
 
 validator: ParameterValidator = ParameterValidator(sys.argv)
 
 if validator.is_valid():
-    address: AddressType = {
-        "country": Country.Germany
-    }
-    o_ran_function = ORanFunction({"address":address})
-    print(o_ran_function)
-    print("yippy")
+    configuration = validator.configuration()
+    generator = NetworkGenerator(configuration['network'])
+    network = generator.generate()
+    viewer = NetworkViewer(network)
+
+    output_folder:str = configuration['output-folder']
+    # If folder doesn't exist, then create it.
+    if not os.path.isdir(output_folder):
+        os.makedirs(output_folder)
+        
+    name: str = configuration['network']['name']
+
+    # topology json
+    if configuration['generation-tasks']['topology'] is True:
+        filename: str = output_folder + "/" + name + "-operational.json"
+        viewer.json().save(filename)
+
+    # svg xml
+    if configuration['generation-tasks']['svg'] is True:
+        filename: str = output_folder + "/" + name + ".svg"
+        viewer.svg(filename)
+
+    # kml xml
+    if configuration['generation-tasks']['kml'] is True:
+        filename: str = output_folder + "/" + name + ".kml"
+        viewer.kml(filename)
+
 else:
     print(validator.error_message())