changeset 1225:b8c0daabe5a5

factor out some URI generation Ignore-this: 3c982a1fdbadcc3154278fbae3d2ce0 darcs-hash:22be14eeb34ca3e87842f4619af6277851033561
author drewp <drewp@bigasterisk.com>
date Sat, 30 Mar 2019 18:59:19 -0700
parents e1202af42d4d
children 7de8f0cd3392
files service/wifi/scrape.py service/wifi/wifi.py
diffstat 2 files changed, 28 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/service/wifi/scrape.py	Sat Mar 30 18:27:17 2019 -0700
+++ b/service/wifi/scrape.py	Sat Mar 30 18:59:19 2019 -0700
@@ -5,9 +5,8 @@
 
 log = logging.getLogger()
 
-class Router(object):
-    def __repr__(self):
-        return repr(self.__dict__)
+def macUri(macAddress: str) -> URIRef:
+    return URIRef("http://bigasterisk.com/mac/%s" % dev['mac'].lower())
 
 class Wifi(object):
     """
@@ -63,7 +62,7 @@
         for row in rows:
             if 'clientHostname' in row:
                 row['name'] = row['clientHostname']
-            mac = URIRef('http://bigasterisk.com/mac/%s' % row['mac'].lower())
+            mac = macUri(row['mac'].lower())
             label = self.graph.value(mac, RDFS.label)
             if label:
                 row['name'] = label
--- a/service/wifi/wifi.py	Sat Mar 30 18:27:17 2019 -0700
+++ b/service/wifi/wifi.py	Sat Mar 30 18:59:19 2019 -0700
@@ -23,7 +23,7 @@
 from pymongo import MongoClient as Connection, DESCENDING
 from rdflib import Namespace, Literal, URIRef, ConjunctiveGraph
 
-from scrape import Wifi
+from scrape import Wifi, macUri
 
 from patchablegraph import PatchableGraph, CycloneGraphEventsHandler, CycloneGraphHandler
 
@@ -31,6 +31,7 @@
 from logsetup import log
 
 
+AST = Namespace("http://bigasterisk.com/")
 DEV = Namespace("http://projects.bigasterisk.com/device/")
 ROOM = Namespace("http://projects.bigasterisk.com/room/")
 reasoning = "http://bang:9071/"
@@ -231,16 +232,17 @@
         for dev in self.lastAddrs:
             if not dev.get('connected'):
                 continue
-            uri = URIRef("http://bigasterisk.com/mac/%s" % dev['mac'].lower())
-            g.add((uri, ROOM['macAddress'], Literal(dev['mac'].lower()), ctx))
+            mac = dev['mac'].lower()                
+            uri = macUri(mac)
+            g.add((uri, ROOM['macAddress'], Literal(mac), ctx))
 
             g.add((uri, ROOM['connected'], {
-                'wireless': URIRef("http://bigasterisk.com/wifiAccessPoints"),
-                '2.4G': URIRef("http://bigasterisk.com/wifiAccessPoints"),
-                '5G':  URIRef("http://bigasterisk.com/wifiAccessPoints"),
-                '-': URIRef("http://bigasterisk.com/wifiUnknownConnectionType"),
-                'Unknown': URIRef("http://bigasterisk.com/wifiUnknownConnectionType"),
-                'wired': URIRef("http://bigasterisk.com/houseOpenNet")}[dev['contype']], ctx))
+                'wireless': AST['wifiAccessPoints'],
+                '2.4G': AST['wifiAccessPoints'],
+                '5G':  AST['wifiAccessPoints'],
+                '-': AST['wifiUnknownConnectionType'],
+                'Unknown': AST['wifiUnknownConnectionType'],
+                'wired': AST['houseOpenNet']}[dev['contype']], ctx))
             if 'clientHostname' in dev and dev['clientHostname']:
                 g.add((uri, ROOM['wifiNetworkName'], Literal(dev['clientHostname']), ctx))
             if 'name' in dev and dev['name']:
@@ -285,18 +287,19 @@
     poller = Poller(wifi, mongo)
     task.LoopingCall(poller.poll).start(1/float(args['--poll']))
 
-    reactor.listenTCP(int(args['--port']),
-                      cyclone.web.Application(
-                          [
-                              (r"/", Index),
-                              (r'/json', Json),
-                              (r'/graph', CycloneGraphHandler, {'masterGraph': masterGraph}),
-                              (r'/graph/events', CycloneGraphEventsHandler, {'masterGraph': masterGraph}),
-                              (r'/table', Table),
-                              #(r'/activity', Activity),
-                          ],
-                          wifi=wifi,
-                          poller=poller,
-                          mongo=mongo))
+    reactor.listenTCP(
+        int(args['--port']),
+        cyclone.web.Application(
+            [
+                (r"/", Index),
+                (r'/json', Json),
+                (r'/graph', CycloneGraphHandler, {'masterGraph': masterGraph}),
+                (r'/graph/events', CycloneGraphEventsHandler, {'masterGraph': masterGraph}),
+                (r'/table', Table),
+                #(r'/activity', Activity),
+            ],
+            wifi=wifi,
+            poller=poller,
+            mongo=mongo))
     import twisted; print('twisted', twisted.__version__)
     reactor.run()