mirror of
https://github.com/tomasriveral/ReSSPublica.git
synced 2026-08-12 10:40:45 +02:00
fix: pubDate and updated mixed up
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -41,13 +41,13 @@ def generateFederalFeed(CACHE):
|
|||||||
|
|
||||||
for entry in data:
|
for entry in data:
|
||||||
logger.debug(f"Popular initiative {getValue(entry, "title_fr")}")
|
logger.debug(f"Popular initiative {getValue(entry, "title_fr")}")
|
||||||
creationDate = datetime.strptime(getValue(entry, "date"), "%Y-%m-%d").replace(tzinfo=ZoneInfo("Europe/Zurich"))
|
|
||||||
item = {
|
item = {
|
||||||
"id": getValue(entry, "id"),
|
"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.
|
# 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
|
# status_uri erledigt/haengig main lifecycle state
|
||||||
"finished": "erledigt" in getValue(entry, "status_uri"),
|
"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"status_uri {getValue(entry, "status_uri")}")
|
||||||
logger.debug(f"finished {str(item["finished"])}")
|
logger.debug(f"finished {str(item["finished"])}")
|
||||||
@@ -116,7 +116,7 @@ def generateFederalFeed(CACHE):
|
|||||||
# if we don't have it:
|
# if we don't have it:
|
||||||
# if still in signature phase -> creationDate
|
# if still in signature phase -> creationDate
|
||||||
# if not -> now
|
# if not -> now
|
||||||
item["date"] = creationDate.isoformat()
|
item["date"] = item["creationDate"]
|
||||||
|
|
||||||
db.upsert(item, q.id == item["id"])
|
db.upsert(item, q.id == item["id"])
|
||||||
item["date"] = datetime.fromisoformat(item["date"]).replace(tzinfo=ZoneInfo("Europe/Zurich"))
|
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
|
# Hyperlink to official page and initial start date
|
||||||
item["text"] = "<p><a href=\""+item["url"]+"\">" + translatedOfficialPage[lang] +"</a></p>"
|
item["text"] = "<p><a href=\""+item["url"]+"\">" + translatedOfficialPage[lang] +"</a></p>"
|
||||||
if item["collectedSignature"] == None: # avoid being redundant with the start date
|
if item["collectedSignature"] == None: # avoid being redundant with the start date
|
||||||
item["text"] += getSignatureInfo(creationDate, lang)
|
item["text"] += getSignatureInfo(item["creationDate"], lang)
|
||||||
else:
|
else:
|
||||||
item["text"] += translatedInitiativeStarted[lang].format(date=creationDate.date())
|
item["text"] += translatedInitiativeStarted[lang].format(date=item["creationDate"])
|
||||||
|
|
||||||
# Status phrase
|
# Status phrase
|
||||||
if item["withdrawn"] == True:
|
if item["withdrawn"] == True:
|
||||||
@@ -162,7 +162,7 @@ def generateFederalFeed(CACHE):
|
|||||||
item["text"] += translatedEndDateAndInsufficientSignatures[lang]
|
item["text"] += translatedEndDateAndInsufficientSignatures[lang]
|
||||||
|
|
||||||
elif item["collectedSignature"] == None:
|
elif item["collectedSignature"] == None:
|
||||||
item["text"] += getSignatureInfo(creationDate, lang)
|
item["text"] += getSignatureInfo(item["creationDate"], lang)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
|
|||||||
@@ -26,7 +26,12 @@ def generateFeed(title, description, fileName, language, standards, entries):
|
|||||||
fe = fg.add_entry()
|
fe = fg.add_entry()
|
||||||
fe.title(item["title"])
|
fe.title(item["title"])
|
||||||
fe.guid(f"initiative-{item['id']}", permalink=False)
|
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.source({'url': item["url"], 'title': item["source"]})
|
||||||
fe.content(item["text"], type="html")
|
fe.content(item["text"], type="html")
|
||||||
if "rss" in standards:
|
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("./feed/atom/" + language + "/" + fileName + ".atom")
|
||||||
|
|
||||||
logger.debug("Finished generating feeds")
|
logger.debug("Finished generating feeds")
|
||||||
|
|
||||||
def getSignatureInfo(start_date, lang="fr"):
|
def getSignatureInfo(start_date, lang="fr"):
|
||||||
if not isinstance(start_date, datetime):
|
if not isinstance(start_date, datetime):
|
||||||
start_date = datetime.fromisoformat(start_date).replace(tzinfo=ZoneInfo("Europe/Zurich"))
|
start_date = datetime.fromisoformat(start_date).replace(tzinfo=ZoneInfo("Europe/Zurich"))
|
||||||
|
|||||||
Reference in New Issue
Block a user