Fix UnifiAccessManager, add Simplepush debug logs, and adjust output format
parent
4e4e3a7f5a
commit
ad16fbb56e
10
main.py
10
main.py
|
|
@ -1,5 +1,6 @@
|
|||
import argparse
|
||||
import logging
|
||||
import urllib3
|
||||
from config import load_config
|
||||
from unifi_access import UnifiAccessManager
|
||||
from hostex_api import HostexManager
|
||||
|
|
@ -7,6 +8,9 @@ from ics_parser import ICSParser
|
|||
from notification import NotificationManager
|
||||
from utils import setup_logging
|
||||
|
||||
# Suppress InsecureRequestWarning
|
||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description="UniFi Access Visitor Management")
|
||||
parser.add_argument('-v', '--verbose', action='store_true', help="Increase output verbosity")
|
||||
|
|
@ -38,8 +42,14 @@ def main():
|
|||
summary = unifi_manager.generate_summary()
|
||||
logger.info(summary)
|
||||
|
||||
total_visitors = len(unifi_manager.fetch_visitors())
|
||||
logger.info(f"Total visitors remaining after cleanup: {total_visitors}")
|
||||
|
||||
if config['simplepush_enabled'] and unifi_manager.has_changes():
|
||||
notification_manager.send_notification("UniFi Access Update", summary)
|
||||
logger.debug("Simplepush notification sent")
|
||||
else:
|
||||
logger.debug("No Simplepush notification sent (no changes or Simplepush not enabled)")
|
||||
|
||||
logger.debug("Script completed successfully")
|
||||
except Exception as e:
|
||||
|
|
|
|||
|
|
@ -87,13 +87,6 @@ class UnifiAccessManager:
|
|||
else:
|
||||
return True
|
||||
|
||||
def is_pin_in_use(self, pin_code):
|
||||
visitors = self.fetch_visitors()
|
||||
for visitor in visitors:
|
||||
if "pin_codes" in visitor and pin_code in visitor["pin_codes"]:
|
||||
return True
|
||||
return False
|
||||
|
||||
def process_reservations(self, reservations):
|
||||
today = datetime.date.today()
|
||||
next_month = today + datetime.timedelta(days=30)
|
||||
|
|
@ -140,11 +133,16 @@ class UnifiAccessManager:
|
|||
self.logger.error(f"Failed to delete visitor: {visitor['first_name']} {visitor['last_name']}")
|
||||
|
||||
def generate_summary(self):
|
||||
summary = "UniFi Access Update Summary:\n"
|
||||
summary += f"{len(self.changes['unchanged'])} existing visitors unchanged\n"
|
||||
summary += f"{len(self.changes['deleted'])} visitor(s) deleted\n"
|
||||
summary += f"{len(self.changes['added'])} visitor(s) added\n"
|
||||
return summary
|
||||
summary = "Hostex-UniFi Access Summary:\n"
|
||||
unchanged_names = ", ".join(self.changes['unchanged'])
|
||||
summary += f"{len(self.changes['unchanged'])} existing visitors unchanged ({unchanged_names})\n"
|
||||
if self.changes['deleted']:
|
||||
deleted_names = ", ".join(self.changes['deleted'])
|
||||
summary += f"{len(self.changes['deleted'])} visitor(s) deleted ({deleted_names})\n"
|
||||
if self.changes['added']:
|
||||
added_names = ", ".join(self.changes['added'])
|
||||
summary += f"{len(self.changes['added'])} visitor(s) added ({added_names})\n"
|
||||
return summary.strip()
|
||||
|
||||
def has_changes(self):
|
||||
return bool(self.changes['added'] or self.changes['deleted'])
|
||||
|
|
|
|||
Loading…
Reference in New Issue