X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=arper.py;h=4d6a3a2baa8900a4e6f5f535ad846766b2d353d7;hb=ed8fa2b10b0177b15b7423263bdd390efde2f0c8;hp=2fc07674eedd0b8206586323ccb03bdea240fb33;hpb=eb9e6df32ed696158bf34dba6464277b648f5c74;p=python_utils.git diff --git a/arper.py b/arper.py index 2fc0767..4d6a3a2 100644 --- a/arper.py +++ b/arper.py @@ -78,23 +78,6 @@ class Arper(persistent.Persistent): def get_mac_by_ip(self, ip: str) -> Optional[str]: return self.state.inverse.get(ip, None) - @overrides - def save(self) -> bool: - if len(self.state) > config.config['arper_min_entries_to_be_valid']: - logger.debug( - f'Persisting state to {config.config["arper_cache_location"]}' - ) - with file_utils.FileWriter(config.config['arper_cache_location']) as wf: - for (mac, ip) in self.state.items(): - mac = mac.lower() - print(f'{mac}, {ip}', file=wf) - return True - else: - logger.warning( - f'Only saw {len(self.state)} entries; needed at least {config.config["arper_min_entries_to_be_valid"]} to bother persisting.' - ) - return False - @classmethod @overrides def load(cls) -> Any: @@ -125,3 +108,20 @@ class Arper(persistent.Persistent): logger.debug('No usable saved state found') return None + + @overrides + def save(self) -> bool: + if len(self.state) > config.config['arper_min_entries_to_be_valid']: + logger.debug( + f'Persisting state to {config.config["arper_cache_location"]}' + ) + with file_utils.FileWriter(config.config['arper_cache_location']) as wf: + for (mac, ip) in self.state.items(): + mac = mac.lower() + print(f'{mac}, {ip}', file=wf) + return True + else: + logger.warning( + f'Only saw {len(self.state)} entries; needed at least {config.config["arper_min_entries_to_be_valid"]} to bother persisting.' + ) + return False