From 1ff090f8c53456e155c084d3589b0488ea3317da Mon Sep 17 00:00:00 2001
From: Attila Farkas <ati@mail.muni.cz>
Date: Thu, 20 Feb 2020 10:21:01 +0100
Subject: [PATCH] move border router creation to preprocessing

---
 create.py                | 10 ++++++++--
 modules/preprocessing.py | 17 +++++++++++++++++
 2 files changed, 25 insertions(+), 2 deletions(-)
 create mode 100644 modules/preprocessing.py

diff --git a/create.py b/create.py
index 29f051a..7d22f65 100644
--- a/create.py
+++ b/create.py
@@ -8,9 +8,9 @@ import sys
 
 from modules.file_generator import generate_vagrantfile, generate_ansible_files
 from modules.device_creator import open_file
-from modules.routing import create_border_router
 from modules.input_argument_parser import parse_input_args
 from modules.input_file_validator import validate_device_definitions
+from modules.preprocessing import preprocess
 
 
 """ Parsing the input arguments. """
@@ -36,10 +36,16 @@ except Exception:
     print("Device definition validation was not sussessful.")
     sys.exit(1)
 
+""" Preprocessing the definitions before device creation. """
+try:
+    preprocess(device_definitions, flags)
+except Exception:
+    print("Preprocessing was not successful.")
+    sys.exit(1)
+
 
 # TODO
 
-create_border_router(device_definitions)
 if "ansible_local" in flags and flags["ansible_local"]:
     generate_vagrantfile(device_definitions, True)
 else:
diff --git a/modules/preprocessing.py b/modules/preprocessing.py
new file mode 100644
index 0000000..4d3b6ca
--- /dev/null
+++ b/modules/preprocessing.py
@@ -0,0 +1,17 @@
+""" This module contains functions for preprocessing. They are supposed to be
+called after validating the input but before device creation.
+"""
+
+from modules.routing import create_border_router
+
+def preprocess(definitions, flags):
+    """
+    This function handles the preprocessing, operations that need to be done
+    before the actual device creation.
+
+    :param definitions: device definition structure
+    :param flags: a structure with command line flags
+    """
+
+    """ Creating Border router """
+    create_border_router(definitions)
-- 
GitLab