Skip to content

Commit d8b39b1

Browse files
authored
fix: make GUID mix of date and description
1 parent f362aad commit d8b39b1

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

convert_json.py

+19-11
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,6 @@ def rss_item(title: str | None = None,
3939
item.append(ET.Element("link"))
4040
item[-1].text = link
4141

42-
# Make GUID link itself
43-
# https://validator.w3.org/feed/docs/warning/MissingGuid.html
44-
# https://validator.w3.org/feed/docs/error/InvalidHttpGUID.html
45-
item.append(ET.Element("guid"))
46-
item[-1].text = link
47-
4842
# Format dates in RFC-822 date-time
4943
# https://validator.w3.org/feed/docs/error/InvalidRFC2822Date.html
5044
if pubDate is not None:
@@ -62,6 +56,15 @@ def rss_item(title: str | None = None,
6256

6357
item[-1].text = fmt_date.strftime("%a, %d %b %Y 09:00:00 EST")
6458

59+
# Make GUID link a mix of the date and description
60+
# https://validator.w3.org/feed/docs/warning/MissingGuid.html
61+
# https://validator.w3.org/feed/docs/error/InvalidHttpGUID.html
62+
item.append(ET.Element("guid", {"isPermaLink": "false"}))
63+
if pubDate is not None:
64+
item[-1].text = f"{pubDate} {' '.join(description.split(' ')[:5])}"
65+
else:
66+
item[-1].text = f"{' '.join(description.split(' ')[:5])}"
67+
6568
return item
6669

6770

@@ -92,22 +95,27 @@ def rss_item(title: str | None = None,
9295
quote = email.get("quote")
9396

9497
if bonus is not None:
95-
channel.append(
96-
rss_item(title="Bonus", description=bonus, pubDate=date))
98+
channel.append(rss_item(
99+
title="Bonus",
100+
description=bonus,
101+
pubDate=date
102+
))
97103

98104
if quote is not None:
99105
quote_author = email.get("quote_author")
100106

101107
if quote_author is not None:
102108
quote += " - " + quote_author
103109

104-
channel.append(
105-
rss_item(title="Quote", description=quote, pubDate=date))
110+
channel.append(rss_item(
111+
title="Quote",
112+
description=quote,
113+
pubDate=date
114+
))
106115

107116
json_links = email.get("links")
108117

109118
for json_link in json_links:
110-
111119
channel.append(rss_item(
112120
description=json_link.get("description"),
113121
link=json_link.get("link"),

0 commit comments

Comments
 (0)