From a2a5c05a3326f1049f82c7931c10dbaad3088c0e Mon Sep 17 00:00:00 2001 From: Jason Hall Date: Sat, 14 May 2022 21:28:49 -0400 Subject: [PATCH 1/3] Reverts to 1 argument for process_structured_topology --- autonetkit/load/load_graphml.py | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/autonetkit/load/load_graphml.py b/autonetkit/load/load_graphml.py index 269c4adc..84a90b53 100644 --- a/autonetkit/load/load_graphml.py +++ b/autonetkit/load/load_graphml.py @@ -4,13 +4,18 @@ from autonetkit.load.common import add_loopback from autonetkit.design.utils.graph_utils import normalise_node_locations -from autonetkit.load.model import StructuredNode, StructuredPort, StructuredTopology, StructuredLink +from autonetkit.load.model import ( + StructuredNode, + StructuredPort, + StructuredTopology, + StructuredLink, +) from autonetkit.load.preprocess import process_structured_topology from autonetkit.network_model.network_model import NetworkModel from autonetkit.network_model.types import PortType, DeviceType -def import_from_graphml(filename: str, network_model_cls= NetworkModel) -> NetworkModel: +def import_from_graphml(filename: str, network_model_cls=NetworkModel) -> NetworkModel: """ @param filename: @@ -39,14 +44,15 @@ def import_from_graphml(filename: str, network_model_cls= NetworkModel) -> Netwo # create loopback zero device_type = node_data.get("device_type").title() get = node_data.get("x") - node = StructuredNode(type=device_type, - label=label, - x=get, - y=node_data.get("y"), - asn=node_data.get("asn"), - target=node_data.get("target"), - data = node_metadata - ) + node = StructuredNode( + type=device_type, + label=label, + x=get, + y=node_data.get("y"), + asn=node_data.get("asn"), + target=node_data.get("target"), + data=node_metadata, + ) topology.nodes.append(node) node_map[nx_node_id] = node @@ -79,7 +85,9 @@ def import_from_graphml(filename: str, network_model_cls= NetworkModel) -> Netwo topology.links.append(link) # TODO: later match this to the YAML physical inventory etc - network_model = process_structured_topology(topology, network_model_cls) + # network_model = process_structured_topology(topology, network_model_cls) + # two arguments are not implemented yet + network_model = process_structured_topology(topology) t_in = network_model.get_topology("input") normalise_node_locations(t_in) From 0e544833d824372ef2fb43f5fe663c28381613b2 Mon Sep 17 00:00:00 2001 From: Jason Hall Date: Sat, 14 May 2022 21:30:13 -0400 Subject: [PATCH 2/3] Adds ignore for egg-info --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e1605b97..45bb8ac7 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ dist/* /autonetkit/tests/output/ /autonetkit/output/ /autonetkit/tutorial/output/ +autonetkit.egg-info/ \ No newline at end of file From 3d6925123cb42119deb3776043c840cd58434144 Mon Sep 17 00:00:00 2001 From: Jason Hall Date: Sat, 14 May 2022 21:18:00 -0400 Subject: [PATCH 3/3] Adds argparser for filename fixes #271 Fixes entrypoint for autonetkit --- autonetkit/entry.py | 31 +++++++++++++++++++++++-------- setup.py | 36 ++++++++++++++---------------------- 2 files changed, 37 insertions(+), 30 deletions(-) diff --git a/autonetkit/entry.py b/autonetkit/entry.py index ff9d2ded..e2e2a614 100644 --- a/autonetkit/entry.py +++ b/autonetkit/entry.py @@ -1,18 +1,33 @@ -import sys - from autonetkit.workflow.workflow import BaseWorkflow +import argparse -def main(filename): +def parse_args() -> argparse.Namespace: + """ + Standalone parser for for command arguments """ + # create an arg parser + parser = argparse.ArgumentParser("autonetkit") + parser.add_argument("-f", type=str, dest="filename") + + return parser.parse_args() - @param filename: + +def main(): + """ + Entry point for autonetkit """ + + args = parse_args() + workflow = BaseWorkflow() - network_model = workflow.load(filename) + network_model = workflow.load(args.filename) workflow.run(network_model, target_platform="kathara") -if __name__ == '__main__': - filename = sys.argv[1] - main(filename) +if __name__ == "__main__": + """ + entrypoint for running directly + """ + + main() diff --git a/setup.py b/setup.py index c2515ca3..e407e64a 100644 --- a/setup.py +++ b/setup.py @@ -4,36 +4,29 @@ setup( name="autonetkit", version="0.12.3", - description='Automatic configuration generation', - long_description='Automatic configuration generation', - + description="Automatic configuration generation", + long_description="Automatic configuration generation", entry_points={ - 'console_scripts': [ - 'autonetkit = autonetkit.console:main', - 'autonetkit_webserver = autonetkit.webserver.webserver:main', + "console_scripts": [ + "autonetkit = autonetkit.entry:main", + "autonetkit_webserver = autonetkit.webserver.webserver:main", ], }, - - author='Simon Knight', + author="Simon Knight", author_email="simon.knight@gmail.com", url="http://www.autonetkit.org", - - packages=find_packages(exclude=('tests', 'docs')), - + packages=find_packages(exclude=("tests", "docs")), include_package_data=True, # include data from MANIFEST.in - download_url=("http://pypi.python.org/pypi/autonetkit"), - install_requires=[ - 'netaddr', - 'networkx', - 'Jinja2', - 'aiohttp', - 'aiohttp_jinja2', - 'requests', - 'pydantic' + "netaddr", + "networkx", + "Jinja2", + "aiohttp", + "aiohttp_jinja2", + "requests", + "pydantic", ], - classifiers=[ "Programming Language :: Python", "Development Status :: 4 - Beta", @@ -47,5 +40,4 @@ "Topic :: System :: Software Distribution", "Topic :: Scientific/Engineering :: Mathematics", ], - )