fix: pubDate and updated mixed up

This commit is contained in:
tomasr committed 2026-06-15 17:40:07 +02:00
1 parent 055ee2423f
commit b4a493f410
3 files changed
+14 -8

No files matched your search

+1 -1
View File
@@ -1 +1 @@
{"_default": {"1": {"id": "583", "finished": false, "date": "2026-06-02T00:00:00+02:00", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "2": {"id": "582", "finished": false, "date": "2026-05-19T00:00:00+02:00", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "3": {"id": "580", "finished": false, "date": "2026-04-28T00:00:00+02:00", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "4": {"id": "581", "finished": false, "date": "2026-04-28T00:00:00+02:00", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "5": {"id": "579", "finished": false, "date": "2026-04-14T00:00:00+02:00", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "6": {"id": "578", "finished": false, "date": "2026-03-03T00:00:00+01:00", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "7": {"id": "577", "finished": false, "date": "2025-12-02T00:00:00+01:00", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "8": {"id": "576", "finished": false, "date": "2025-11-11T00:00:00+01:00", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "9": {"id": "575", "finished": false, "date": "2025-10-14T00:00:00+02:00", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "10": {"id": "574", "finished": false, "date": "2025-08-12T00:00:00+02:00", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "11": {"id": "573", "finished": false, "date": "2025-06-03T00:00:00+02:00", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "12": {"id": "572", "finished": false, "date": "2025-04-08T00:00:00+02:00", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "13": {"id": "570", "finished": false, "date": "2025-04-01T00:00:00+02:00", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "14": {"id": "571", "finished": false, "date": "2025-03-25T00:00:00+01:00", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "15": {"id": "569", "finished": false, "date": "2025-01-07T00:00:00+01:00", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "16": {"id": "568", "finished": false, "date": "2024-12-31T00:00:00+01:00", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "17": {"id": "567", "finished": false, "date": "2024-11-26T00:00:00+01:00", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "18": {"id": "566", "finished": false, "date": "2024-10-01T00:00:00+02:00", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "19": {"id": "565", "finished": false, "date": "2024-09-03T00:00:00+02:00", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "20": {"id": "564", "finished": false, "date": "2024-07-02T00:00:00+02:00", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "21": {"id": "563", "finished": false, "date": "2024-06-11T00:00:00+02:00", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "22": {"id": "562", "finished": false, "date": "2024-05-28T00:00:00+02:00", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "23": {"id": "561", "finished": true, "date": "2024-04-30T00:00:00+02:00", "collectedSignature": false, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "24": {"id": "560", "finished": true, "date": "2024-04-02T00:00:00+02:00", "collectedSignature": false, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "25": {"id": "558", "finished": false, "date": "2024-01-30T00:00:00+01:00", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "26": {"id": "559", "finished": false, "date": "2024-01-30T00:00:00+01:00", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "27": {"id": "557", "finished": true, "date": "2024-01-30T00:00:00+01:00", "collectedSignature": false, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "28": {"id": "556", "finished": true, "date": "2023-10-17T00:00:00+02:00", "collectedSignature": false, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "29": {"id": "555", "finished": true, "date": "2023-07-04T00:00:00+02:00", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "30": {"id": "554", "finished": false, "date": "2023-06-13T00:00:00+02:00", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "31": {"id": "5Line truncated
{"_default": {"1": {"id": "583", "finished": false, "date": "2026-06-02", "creationDate": "2026-06-02", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "2": {"id": "582", "finished": false, "date": "2026-05-19", "creationDate": "2026-05-19", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "3": {"id": "580", "finished": false, "date": "2026-04-28", "creationDate": "2026-04-28", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "4": {"id": "581", "finished": false, "date": "2026-04-28", "creationDate": "2026-04-28", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "5": {"id": "579", "finished": false, "date": "2026-04-14", "creationDate": "2026-04-14", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "6": {"id": "578", "finished": false, "date": "2026-03-03", "creationDate": "2026-03-03", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "7": {"id": "577", "finished": false, "date": "2025-12-02", "creationDate": "2025-12-02", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "8": {"id": "576", "finished": false, "date": "2025-11-11", "creationDate": "2025-11-11", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "9": {"id": "575", "finished": false, "date": "2025-10-14", "creationDate": "2025-10-14", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "10": {"id": "574", "finished": false, "date": "2025-08-12", "creationDate": "2025-08-12", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "11": {"id": "573", "finished": false, "date": "2025-06-03", "creationDate": "2025-06-03", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "12": {"id": "572", "finished": false, "date": "2025-04-08", "creationDate": "2025-04-08", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "13": {"id": "570", "finished": false, "date": "2025-04-01", "creationDate": "2025-04-01", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "14": {"id": "571", "finished": false, "date": "2025-03-25", "creationDate": "2025-03-25", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "15": {"id": "569", "finished": false, "date": "2025-01-07", "creationDate": "2025-01-07", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "16": {"id": "568", "finished": false, "date": "2024-12-31", "creationDate": "2024-12-31", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "17": {"id": "567", "finished": false, "date": "2024-11-26", "creationDate": "2024-11-26", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "18": {"id": "566", "finished": false, "date": "2024-10-01", "creationDate": "2024-10-01", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "19": {"id": "565", "finished": false, "date": "2024-09-03", "creationDate": "2024-09-03", "collectedSignature": null, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "20": {"id": "564", "finished": false, "date": "2024-07-02", "creationDate": "2024-07-02", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "21": {"id": "563", "finished": false, "date": "2024-06-11", "creationDate": "2024-06-11", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "22": {"id": "562", "finished": false, "date": "2024-05-28", "creationDate": "2024-05-28", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "23": {"id": "561", "finished": true, "date": "2024-04-30", "creationDate": "2024-04-30", "collectedSignature": false, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "24": {"id": "560", "finished": true, "date": "2024-04-02", "creationDate": "2024-04-02", "collectedSignature": false, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "25": {"id": "558", "finished": false, "date": "2024-01-30", "creationDate": "2024-01-30", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "26": {"id": "559", "finished": false, "date": "2024-01-30", "creationDate": "2024-01-30", "collectedSignature": true, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "27": {"id": "557", "finished": true, "date": "2024-01-30", "creationDate": "2024-01-30", "collectedSignature": false, "withdrawn": null, "invalid": false, "acceptedInVote": null}, "28": {"id": "556", "finished": true, "date": "2023-10-17", "creationDate": "2023-10-17", "collectedSignatuLine truncated
+6 -6
View File
@@ -41,13 +41,13 @@ def generateFederalFeed(CACHE):
for entry in data:
logger.debug(f"Popular initiative {getValue(entry, "title_fr")}")
creationDate = datetime.strptime(getValue(entry, "date"), "%Y-%m-%d").replace(tzinfo=ZoneInfo("Europe/Zurich"))
item = {
"id": getValue(entry, "id"),
# For status, zustand, zurueckgezogen, ungueltig and angenommen, we just get the URI as we can deduce the info we need from it and it makes queries faster.
# status_uri erledigt/haengig main lifecycle state
"finished": "erledigt" in getValue(entry, "status_uri"),
"date": getValue(entry, "date")
"date": getValue(entry, "date"),
"creationDate": getValue(entry, "date")
}
logger.debug(f"status_uri {getValue(entry, "status_uri")}")
logger.debug(f"finished {str(item["finished"])}")
@@ -116,7 +116,7 @@ def generateFederalFeed(CACHE):
# if we don't have it:
# if still in signature phase -> creationDate
# if not -> now
item["date"] = creationDate.isoformat()
item["date"] = item["creationDate"]
db.upsert(item, q.id == item["id"])
item["date"] = datetime.fromisoformat(item["date"]).replace(tzinfo=ZoneInfo("Europe/Zurich"))
@@ -138,9 +138,9 @@ def generateFederalFeed(CACHE):
# Hyperlink to official page and initial start date
item["text"] = "<p><a href=\""+item["url"]+"\">" + translatedOfficialPage[lang] +"</a></p>"
if item["collectedSignature"] == None: # avoid being redundant with the start date
item["text"] += getSignatureInfo(creationDate, lang)
item["text"] += getSignatureInfo(item["creationDate"], lang)
else:
item["text"] += translatedInitiativeStarted[lang].format(date=creationDate.date())
item["text"] += translatedInitiativeStarted[lang].format(date=item["creationDate"])
# Status phrase
if item["withdrawn"] == True:
@@ -162,7 +162,7 @@ def generateFederalFeed(CACHE):
item["text"] += translatedEndDateAndInsufficientSignatures[lang]
elif item["collectedSignature"] == None:
item["text"] += getSignatureInfo(creationDate, lang)
item["text"] += getSignatureInfo(item["creationDate"], lang)
else:
raise ValueError(
+7 -1
View File
@@ -26,7 +26,12 @@ def generateFeed(title, description, fileName, language, standards, entries):
fe = fg.add_entry()
fe.title(item["title"])
fe.guid(f"initiative-{item['id']}", permalink=False)
fe.pubDate(item["date"])
if not isinstance(item["date"], datetime):
item["date"] = datetime.fromisoformat(item["date"]).replace(tzinfo=ZoneInfo("Europe/Zurich"))
fe.updated(item["date"])
if not isinstance(item["creationDate"], datetime):
item["creationDate"] = datetime.fromisoformat(item["creationDate"]).replace(tzinfo=ZoneInfo("Europe/Zurich"))
fe.pubDate(item["creationDate"])
fe.source({'url': item["url"], 'title': item["source"]})
fe.content(item["text"], type="html")
if "rss" in standards:
@@ -39,6 +44,7 @@ def generateFeed(title, description, fileName, language, standards, entries):
logger.debug("./feed/atom/" + language + "/" + fileName + ".atom")
logger.debug("Finished generating feeds")
def getSignatureInfo(start_date, lang="fr"):
if not isinstance(start_date, datetime):
start_date = datetime.fromisoformat(start_date).replace(tzinfo=ZoneInfo("Europe/Zurich"))