#!/usr/bin/env python3
+"""This is a module dealing with trying to guess a person's location
+based on the location of certain devices (e.g. phones, laptops)
+belonging to that person. It works with networks I run that log
+device MAC addresses active."""
+
import datetime
import logging
import re
class PresenceDetection(object):
+ """See above. This is a base class for determining a person's
+ location on networks I administer."""
+
def __init__(self) -> None:
# Note: list most important devices first.
self.devices_by_person: Dict[Person, List[str]] = {
if mac not in self.names_by_mac:
continue
mac_name = self.names_by_mac[mac]
- logger.debug(
- 'Looking for %s... check for mac %s (%s)',
- name, mac, mac_name
- )
+ logger.debug('Looking for %s... check for mac %s (%s)', name, mac, mac_name)
for location in self.location_ts_by_mac:
if mac in self.location_ts_by_mac[location]:
ts = (self.location_ts_by_mac[location])[mac]
- logger.debug(
- 'Seen %s (%s) at %s since %s',
- mac, mac_name, location, ts
- )
+ logger.debug('Seen %s (%s) at %s since %s', mac, mac_name, location, ts)
tiebreaks[location] = ts
(
for person in Person:
print(f'{person} => {p.where_is_person_now(person)}')
print()
-
-
-# for location in Location:
-# print(f'{location} => {p.is_anyone_in_location_now(location)}')
+ for location in Location:
+ print(f'{location} => {p.is_anyone_in_location_now(location)}')
if __name__ == '__main__':