X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=arper.py;h=bdd97ac2c93b8109fcfb187f5bc7b455fad7a009;hb=90dc74b2ff8f36dd2495632a8150ce37dab61f1c;hp=a5b1de410f53ae04f917e08c03660b32953e47c1;hpb=bddea36b81ea326fccfa27ef0bae2a80ba1041fd;p=python_utils.git diff --git a/arper.py b/arper.py index a5b1de4..bdd97ac 100644 --- a/arper.py +++ b/arper.py @@ -3,29 +3,28 @@ """A caching layer around the kernel's network mapping between IPs and MACs""" - - import datetime import logging import os -from typing import Any, Optional import warnings +from typing import Any, Optional from overrides import overrides import argparse_utils -from collect.bidict import BiDict import config import exec_utils import file_utils import persistent -import string_utils import site_config +import string_utils +from collect.bidict import BiDict logger = logging.getLogger(__name__) cfg = config.add_commandline_args( - f'MAC <--> IP Address mapping table cache ({__file__})', 'Commandline args related to MAC <--> IP Address mapping', + f'MAC <--> IP Address mapping table cache ({__file__})', + 'Commandline args related to MAC <--> IP Address mapping', ) cfg.add_argument( '--arper_cache_location', @@ -48,7 +47,7 @@ cfg.add_argument( ) -@persistent.persistent_autoloaded_singleton() +@persistent.persistent_autoloaded_singleton() # type: ignore class Arper(persistent.Persistent): def __init__(self, cached_state: Optional[BiDict] = None) -> None: self.state = BiDict() @@ -60,9 +59,7 @@ class Arper(persistent.Persistent): self.update_from_arp_scan() self.update_from_arp() if len(self.state) < config.config['arper_min_entries_to_be_valid']: - raise Exception( - f'Arper didn\'t find enough entries; only got {len(self.state)}.' - ) + raise Exception(f'Arper didn\'t find enough entries; only got {len(self.state)}.') def update_from_arp_scan(self): network_spec = site_config.get_config().network @@ -77,12 +74,7 @@ class Arper(persistent.Persistent): for line in output.split('\n'): ip = string_utils.extract_ip_v4(line) mac = string_utils.extract_mac_address(line) - if ( - ip is not None - and mac is not None - and mac != 'UNKNOWN' - and ip != 'UNKNOWN' - ): + if ip is not None and mac is not None and mac != 'UNKNOWN' and ip != 'UNKNOWN': mac = mac.lower() logger.debug(f'ARPER: {mac} => {ip}') self.state[mac] = ip @@ -96,12 +88,7 @@ class Arper(persistent.Persistent): for line in output.split('\n'): ip = string_utils.extract_ip_v4(line) mac = string_utils.extract_mac_address(line) - if ( - ip is not None - and mac is not None - and mac != 'UNKNOWN' - and ip != 'UNKNOWN' - ): + if ip is not None and mac is not None and mac != 'UNKNOWN' and ip != 'UNKNOWN': mac = mac.lower() logger.debug(f'ARPER: {mac} => {ip}') self.state[mac] = ip