Add generic support for special device types in configuration and now_at()
parent
145d13c2a7
commit
3143038458
|
@ -11,4 +11,9 @@ CLAIMABLE_EXCLUDE = [
|
||||||
# '127.0.0.1',
|
# '127.0.0.1',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
SPECIAL_DEVICES = {
|
||||||
|
'kektops': ('90:e6:ba:84'),
|
||||||
|
'esps': ('ec:fa:bc', 'dc:4f:22', 'd8:a0:1d', 'b4:e6:2d', 'ac:d0:74', 'a4:7b:9d', 'a0:20:a6', '90:97:d5', '68:c6:3a', '60:01:94', '5c:cf:7f', '54:5a:a6', '30:ae:a4', '2c:3a:e8', '24:b2:de', '24:0a:c4', '18:fe:34'),
|
||||||
|
}
|
||||||
|
|
||||||
SECRET_KEY = 'adaba'
|
SECRET_KEY = 'adaba'
|
||||||
|
|
24
at.py
24
at.py
|
@ -254,30 +254,28 @@ def list_all():
|
||||||
|
|
||||||
|
|
||||||
def now_at():
|
def now_at():
|
||||||
|
result = dict()
|
||||||
devices = app.updater.get_active_devices()
|
devices = app.updater.get_active_devices()
|
||||||
device_infos = list(get_device_infos(g.db, devices.keys()))
|
device_infos = list(get_device_infos(g.db, devices.keys()))
|
||||||
device_infos.sort(key=lambda di: devices.__getitem__)
|
device_infos.sort(key=lambda di: devices.__getitem__)
|
||||||
all_unknown = set(devices.keys()) - set(d.hwaddr for d in device_infos)
|
all_unknown = set(devices.keys()) - set(d.hwaddr for d in device_infos)
|
||||||
# das kektop sorting maschine
|
# das kektop sorting maschine
|
||||||
kektops = set()
|
unknown = all_unknown
|
||||||
unknown = set()
|
for name, prefixes in app.config['SPECIAL_DEVICES'].items():
|
||||||
esps = set()
|
result[name] = set()
|
||||||
for u in all_unknown:
|
for u in all_unknown:
|
||||||
if u.startswith('90:e6:ba:84'):
|
if u.startswith(prefixes):
|
||||||
kektops.add(u)
|
result[name].add(u)
|
||||||
elif u.startswith('5c:cf:7f'):
|
unknown.discard(u)
|
||||||
esps.add(u)
|
result['unknown'] = unknown
|
||||||
else:
|
|
||||||
unknown.add(u)
|
|
||||||
|
|
||||||
users = {}
|
users = {}
|
||||||
for info in device_infos:
|
for info in device_infos:
|
||||||
if info.owner not in users:
|
if info.owner not in users:
|
||||||
users[info.owner] = devices[info.hwaddr][0]
|
users[info.owner] = devices[info.hwaddr][0]
|
||||||
users_sorted = sorted(users.items(), key=lambda (u, a): a, reverse=True)
|
result['users'] = sorted(users.items(), key=lambda (u, a): a, reverse=True)
|
||||||
|
|
||||||
return dict(users=users_sorted, unknown=unknown, kektops=kektops,
|
return result
|
||||||
esps=esps)
|
|
||||||
|
|
||||||
|
|
||||||
restrict_to_hs = restrict_ip(prefix=app.config['CLAIMABLE_PREFIX'],
|
restrict_to_hs = restrict_ip(prefix=app.config['CLAIMABLE_PREFIX'],
|
||||||
|
|
Loading…
Reference in New Issue