Adding policy manager and a1 sdnc vth
[it/otf.git] / a1-sdnc-vth / app / routes / info.py
diff --git a/a1-sdnc-vth/app/routes/info.py b/a1-sdnc-vth/app/routes/info.py
new file mode 100644 (file)
index 0000000..7090cf3
--- /dev/null
@@ -0,0 +1,76 @@
+"""\r
+Args:\r
+Returns:\r
+Examples:\r
+"""\r
+import json\r
+import datetime\r
+from flask import current_app, jsonify, request\r
+import time\r
+import requests\r
+from app.errors.bad_request_exception import BadRequestException\r
+from app.helpers.time_helper import unix_time_millis, timed_function\r
+from app.helpers.response_helper import vth_response_dic\r
+from app.helpers import response_helper as ResponseHelper\r
+from app.helpers import action_helper as Info\r
+from . import config, ROUTES\r
+\r
+\r
+@ROUTES.route("/handle_action", methods=['POST'])\r
+def handle_action_request():\r
+    return ResponseHelper.route_check(config=config, post_function = Info.execute_action)\r
+\r
+\r
+@ROUTES.route("/", methods=['GET'])\r
+def get_base():\r
+    """\r
+    Args:\r
+    Returns:\r
+    Examples:\r
+    """\r
+    current_app.logger.info(request.method)\r
+    response = vth_response_dic()\r
+    data = current_app.url_map\r
+    rules = []\r
+    methods_list = []\r
+    for rule in data.iter_rules():\r
+        ma = {rule.rule:[]}\r
+        for val in rule.methods:\r
+            if (val != "OPTIONS") and (val !="HEAD"):\r
+                #print(val)\r
+                ma[rule.rule].append(val)\r
+        rules.append(ma)\r
+\r
+    #    methods_set.add(rule.methods)\r
+        #print(rule.methods)\r
+    #print(rules)\r
+    response["vthResponse"]["resultData"] = rules\r
+    #current_app.logger.info(current_app.url_map)\r
+    current_app.logger.debug("hit health point")\r
+    return jsonify(response)\r
+\r
+@ROUTES.route("/health", methods=['GET'])\r
+def get_health():\r
+    """\r
+    Args:\r
+    Returns:\r
+    Examples:\r
+    """\r
+    current_app.logger.debug("hit health point")\r
+    return "UP"\r
+\r
+@ROUTES.route("/status", methods=['GET'])\r
+def get_status():\r
+    """\r
+    Args:\r
+    Returns:\r
+    Examples:\r
+    """\r
+    suma = lambda: time.sleep(1)\r
+    #current_app.logger.info(current_app.url_map)\r
+    current_app.logger.info(unix_time_millis(datetime.datetime.now()))\r
+    current_app.logger.info(timed_function(suma))\r
+    current_app.logger.debug("some stuff")\r
+    #raise Exception("some error")\r
+    raise BadRequestException()\r
+    return "Running"\r