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