more fixes, so many API endpoints
[kismet-logviewer.git] / logviewer / devices / views.py
index e3c8c9d..481d520 100644 (file)
@@ -11,17 +11,12 @@ from django.views.decorators.csrf import csrf_exempt
 def load_db(query):
     dir_list = os.listdir("logs/")
     connection = sqlite3.connect("logs/"+dir_list[0])
-    #connection.row_factory = lambda cursor, row: row[0]
     cursor = connection.cursor()
     rows = cursor.execute(query).fetchall()
     return(rows)
 
 @csrf_exempt
 def index(request,devicename):
-    #print("-------------")
-    #print(request.path)
-    #print(devicename)
-    #print("-------------")
     if request.path[0:8] == "/devices":
         dev=list(load_db("select cast(device as text) from devices where devkey = \""+devicename+"\""))
         (dev_info,) = dev[0]
@@ -37,4 +32,16 @@ def index(request,devicename):
         datasource=list(load_db("select cast(json as text) from datasources where uuid = \""+str(devicename)+"\""))
         (json_result,) = datasource[0]
         return HttpResponse(json_result, content_type='text/json')
-
+    elif request.path[0:4] == "/phy":
+        #INCOMPLETE - Need to work out device mappings still
+        devices=list(load_db("select cast(device as text) from devices where type='Wi-Fi AP'"))
+        for device in devices:
+            (json_result,) = device
+            device_json = json.loads(json_result)
+            try:
+                if str(devicename) == str(device_json['dot11.device']['dot11.device.last_beaconed_ssid_record']['dot11.advertisedssid.ssid_hash']):
+                    print("MATCH")
+                    print(device_json)
+            except:
+                print("skipping")
+        return HttpResponse("{}", content_type='text/json')