import datetime import httpx def construct_ntfy_headers( title: str = "Object/Person Detected", tag = "rotating_light", # https://docs.ntfy.sh/publish/#tags-emojis priority = "default", # https://docs.ntfy.sh/publish/#message-priority ) -> (dict): return { 'Title': title, 'Priority': priority, 'Tags': tag } def send_notification( data: str, headers: dict, url: str ): if url is None or data is None: raise ValueError("url and data cannot be None") httpx.post(url, data=data.encode('utf-8'), headers=headers) def check_last_seen(last_seen: datetime.datetime, seconds: int = 15): ''' Check if a time is older than a given number of seconds If it is, return True If last_seen is empty/null, return True ''' if ( datetime.datetime.now() - last_seen > datetime.timedelta(seconds=seconds) or last_seen == "" or last_seen is None ): return True else: return False