feeds: separate per language

This commit is contained in:
2026-06-14 12:23:28 +02:00
parent 0b853551a3
commit 5cf64d4129
+23 -1
View File
@@ -2,6 +2,9 @@ from SPARQLWrapper import SPARQLWrapper, JSON
from feedgen.feed import FeedGenerator
from importlib.resources import files
def getValue(row, key):
return row.get(key, {}).get("value") or None
def generateFederalFeed():
sparql = SPARQLWrapper("https://cached.lindas.admin.ch/query")
query = files("resspublica.queries").joinpath("federalPopularInitiatives.sparql").read_text()
@@ -9,7 +12,26 @@ def generateFederalFeed():
sparql.setReturnFormat(JSON)
results = sparql.query().convert()
print(results)
# remove some of useless json data such as "head": {"vars": [...]}
data = results["results"]["bindings"]
feeds = {
"fr": [],
"de": [],
"it": []
}
for entry in data:
for lang in ["fr", "de", "it"]:
item = {
"id": getValue(entry, "id"),
"date": getValue(entry, "date"),
"title": getValue(entry, "title_" + lang),
"article": getValue(entry, "artikel_" + lang),
"text": getValue(entry, "text_" + lang)
}
feeds[lang].append(item)
print(feeds["fr"])
def main():
generateFederalFeed()