diff --git a/resspublica/federalInitiativesFeeds.py b/resspublica/federalInitiativesFeeds.py index 40a6d28..43e470c 100644 --- a/resspublica/federalInitiativesFeeds.py +++ b/resspublica/federalInitiativesFeeds.py @@ -1,4 +1,16 @@ -def generateFederalFeed(): +from SPARQLWrapper import SPARQLWrapper, JSON +import copy +from importlib.resources import files +from tinydb import TinyDB, Query +from datetime import datetime +from zoneinfo import ZoneInfo +from .utils import * +from .translations import * + +import logging +logger = logging.getLogger("resspublica") + +def generateFederalFeed(CACHE): logger.info("Making th SPARQL query") sparql = SPARQLWrapper("https://cached.lindas.admin.ch/query") @@ -114,7 +126,7 @@ def generateFederalFeed(): item["title"] = getValue(entry, "title_" + lang) if item["title"] == None: item["title"] = "Missing data" - item["url"] = translatedFederalPopularInititivesUrls.get(lang, translatedFederalPopularInititivesUrls["de"]) + str(getValue(entry, "id")) + item["url"] = translatedFederalPopularInitiativesUrls.get(lang, translatedFederalPopularInitiativesUrls["de"]) + str(getValue(entry, "id")) item["source"] = translatedFederalChancellery[lang] # We need to construct the text part in three phases: diff --git a/resspublica/main.py b/resspublica/main.py index e4c6bd3..2f571dd 100644 --- a/resspublica/main.py +++ b/resspublica/main.py @@ -1,21 +1,17 @@ -from SPARQLWrapper import SPARQLWrapper, JSON -from importlib.resources import files -from datetime import datetime -from dateutil.relativedelta import relativedelta -from zoneinfo import ZoneInfo -from tinydb import TinyDB, Query from pathlib import Path import os -import copy import argparse import logging -import .utils -import .translations -import .federalInitiativesFeeds +from .translations import * logger = logging.getLogger("resspublica") +from .utils import * +from .federalInitiativesFeeds import * +from .translations import * + + def main(): parser = argparse.ArgumentParser() parser.add_argument("--verbose", action="store_true", help="Enable debug logging") @@ -26,10 +22,9 @@ def main(): format="%(asctime)s [%(levelname)s] %(message)s" ) - global CACHE CACHE = Path(os.environ.get("RESSPUBLICA_CACHE", ".cache")) CACHE.mkdir(parents=True, exist_ok=True) logging.info("Starting feed generation") - generateFederalFeed() + generateFederalFeed(CACHE) logging.info("Done") diff --git a/resspublica/utils.py b/resspublica/utils.py index 453f6cf..7fca87e 100644 --- a/resspublica/utils.py +++ b/resspublica/utils.py @@ -1,5 +1,10 @@ from feedgen.feed import FeedGenerator - +from datetime import datetime +from dateutil.relativedelta import relativedelta +from .translations import * +from zoneinfo import ZoneInfo +import logging +logger = logging.getLogger("resspublica") def generateFeed(title, description, fileName, language, standards, entries): logger.info(f"Generating feed {title}")