X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=code%2Fnetwork-generator%2Fnetwork_generation%2Fcli.py;h=ad4188a723eabcd6fd12bba16223c7c8b9c4f7e1;hb=762eebc5c889ff1aa37a8db5d028088c15b10cf6;hp=806727395bfef39c28cbd9a95e071f4b4c311fc6;hpb=c8e3bd35883f540afe023fd077ad64cde327e18a;p=oam.git diff --git a/code/network-generator/network_generation/cli.py b/code/network-generator/network_generation/cli.py index 8067273..ad4188a 100644 --- a/code/network-generator/network_generation/cli.py +++ b/code/network-generator/network_generation/cli.py @@ -14,65 +14,58 @@ # inspired by https://github.com/rochacbruno/python-project-template -"""CLI interface for network_generation project. - -Be creative! do whatever you want! - -- Install click or typer and create a CLI app -- Use builtin argparse -- Start a web application -- Import things from your .base module -""" - +import os +import sys +from network_generation.base import NetworkGenerator +from network_generation.model.python.o_ran_network import ORanNetwork +from network_generation.parameter_validator import ParameterValidator +from network_generation.view.network_viewer import NetworkViewer """ +CLI interface for network_generation project. Module as entry point to generate an ietf topology json """ -import os -import sys -from network_generation.view.network_viewer import NetworkViewer -from network_generation.controller.network_generator import NetworkGenerator -from network_generation.controller.parameter_validator import ParameterValidator -def main(): # pragma: no cover +def main() -> None: # pragma: no cover """ The main function executes on commands: `python -m network_generation`. """ validator: ParameterValidator = ParameterValidator(sys.argv) - print("I'm in", sys.argv) if validator.is_valid(): - configuration = validator.configuration() - generator = NetworkGenerator(configuration['network']) - network = generator.generate() - viewer = NetworkViewer(network) - - output_folder:str = configuration['output-folder'] + configuration: dict = validator.configuration() + generator: NetworkGenerator = NetworkGenerator( + configuration["network"] + ) + network: ORanNetwork = generator.generate() + viewer: NetworkViewer = 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'] + + name: str = configuration["network"]["name"] + filename: str = "" # topology json - if configuration['generation-tasks']['topology'] is True: - filename: str = output_folder + "/" + name + "-operational.json" + if configuration["generation-tasks"]["topology"] is True: + filename = output_folder + "/" + name + "-operational.json" viewer.json().save(filename) # svg xml - if configuration['generation-tasks']['svg'] is True: - filename: str = output_folder + "/" + name + ".svg" + if configuration["generation-tasks"]["svg"] is True: + filename = output_folder + "/" + name + ".svg" viewer.svg(filename) # kml xml - if configuration['generation-tasks']['kml'] is True: - filename: str = output_folder + "/" + name + ".kml" + if configuration["generation-tasks"]["kml"] is True: + filename = output_folder + "/" + name + ".kml" viewer.kml(filename) else: print(validator.error_message()) -