[AETHER-3071] Export num configured and reachable devices to Prometheus

Change-Id: I8cf178e6596460433f3b82c85e3d311e6f96f032
diff --git a/app.py b/app.py
index cc85ce4..3adb9dd 100644
--- a/app.py
+++ b/app.py
@@ -8,7 +8,6 @@
 import time
 
 from flask import Flask, request
-from flask_restful import Resource, Api
 import logging as log
 from argparse import ArgumentParser, SUPPRESS
 import threading
@@ -19,40 +18,39 @@
 import device
 
 app = Flask(__name__)
-api = Api(app)
 
 devices = {} # dict imsi:device
 lock = threading.Lock()
 
 
-class Devices(Resource):
-    def get(self):
-        global devices, lock
-        with lock:
-            all = {}
-            for _, device in devices.items():
-                all[device.imsi_id] = {'ip':device.ip, 'imsi':device.imsi, 'last_reachable':'{:%Y-%m-%d %H:%M:%S}'.format(device.last_reachable)}
-        return all
+@app.route("/devices")
+def get_devices():
+    global devices, lock
+    with lock:
+        all = {}
+        for _, device in devices.items():
+            all[device.imsi_id] = {'ip':device.ip, 'imsi':device.imsi, 'last_reachable':'{:%Y-%m-%d %H:%M:%S}'.format(device.last_reachable)}
+    return all
 
-class ReachableDevices(Resource):
-    def get(self):
-        global devices, lock
-        with lock:
-            reachable = {}
-            for _, device in devices.items():
-                if device.reachable is True:
-                    reachable[device.imsi_id] = {'ip':device.ip, 'imsi':device.imsi, 'last_reachable':'{:%Y-%m-%d %H:%M:%S}'.format(device.last_reachable)}
-        return reachable
+@app.route("/devices/reachable")
+def get_devices_reachable():
+    global devices, lock
+    with lock:
+        reachable = {}
+        for _, device in devices.items():
+            if device.reachable is True:
+                reachable[device.imsi_id] = {'ip':device.ip, 'imsi':device.imsi, 'last_reachable':'{:%Y-%m-%d %H:%M:%S}'.format(device.last_reachable)}
+    return reachable
 
-class UnreachableDevices(Resource):
-    def get(self):
-        global devices, lock
-        with lock:
-            unreachable = {}
-            for _, device in devices.items():
-                if device.reachable is False:
-                    unreachable[device.imsi_id] = {'ip':device.ip, 'imsi':device.imsi, 'last_reachable':'{:%Y-%m-%d %H:%M:%S}'.format(device.last_reachable)}
-        return unreachable
+@app.route("/devices/unreachable")
+def get_devices_unreachable():
+    global devices, lock
+    with lock:
+        unreachable = {}
+        for _, device in devices.items():
+            if device.reachable is False:
+                unreachable[device.imsi_id] = {'ip':device.ip, 'imsi':device.imsi, 'last_reachable':'{:%Y-%m-%d %H:%M:%S}'.format(device.last_reachable)}
+    return unreachable
 
 
 
@@ -116,10 +114,6 @@
         datefmt='%Y-%m-%d %H:%M:%S',
         stream=sys.stdout)
 
-    api.add_resource(Devices, '/devices')
-    api.add_resource(ReachableDevices, '/devices/reachable')
-    api.add_resource(UnreachableDevices, '/devices/unreachable')
-
     log.info("Starting network-diag-app...")
 
     args = build_argparser().parse_args()