From 112a8071022758d6a70a686282803ef745893176 Mon Sep 17 00:00:00 2001 From: Dave Gallant Date: Tue, 16 Jan 2024 21:29:04 -0500 Subject: [PATCH] Add check for empty offer --- rfd_notify/models/topic.py | 3 ++- rfd_notify/notifications.py | 7 ++++++- rfd_notify/rfd.py | 6 ++---- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/rfd_notify/models/topic.py b/rfd_notify/models/topic.py index 5294cad..d7bd88c 100644 --- a/rfd_notify/models/topic.py +++ b/rfd_notify/models/topic.py @@ -17,7 +17,8 @@ class Topic: self.title = title self.post_time = post_time self.web_path = web_path - self.offer = Offer(**offer) + if offer: + self.offer = Offer(**offer) def __repr__(self): return f"Topic({self.title})" diff --git a/rfd_notify/notifications.py b/rfd_notify/notifications.py index 85e2dff..45fc692 100644 --- a/rfd_notify/notifications.py +++ b/rfd_notify/notifications.py @@ -18,12 +18,17 @@ def send_notification( apobj = apprise.Apprise() apobj.add(servers) + if topic.offer: + dealer_name = topic.offer.dealer_name + else: + dealer_name = "" + subject = topic.title body = f"""\ Post age: {datetime.now(timezone.utc) - datetime.fromisoformat(topic.post_time)}

- Dealer: {topic.offer.dealer_name} + Dealer: {dealer_name}

Deal: {topic.title} diff --git a/rfd_notify/rfd.py b/rfd_notify/rfd.py index 83089b9..c3c27db 100644 --- a/rfd_notify/rfd.py +++ b/rfd_notify/rfd.py @@ -65,7 +65,7 @@ def look_for_matches( topic_title = topic.title.lower() dealer_name = "" - if topic.offer.dealer_name is not None: + if topic.offer and topic.offer.dealer_name is not None: dealer_name = topic.offer.dealer_name.lower() if re.search(expression, topic_title): found_match = True @@ -86,7 +86,5 @@ def look_for_matches( previous_matches[str(topic.topic_id)] = 1 send_notification(topic, posts, expression, apprise_url) else: - logger.debug( - f"Already matched topic '{topic.offer.dealer_name} - {topic.title}'" - ) + logger.debug(f"Already matched topic '{topic.title}'") break