""" Läser in motioner från JSON-filer (dokumentstatus-kuvert) till PostgreSQL. Används av sync_motions.py (update_folder) och kan köras direkt för att (om)ladda alla mappar i motioner/: python scripts/motions_to_postgres.py """ import json import logging import os import sys os.chdir("/home/lasse/riksdagen") sys.path.append("/home/lasse/riksdagen") from bs4 import BeautifulSoup from postgres_client import pg from scripts.documents_to_postgres import _parse_date, clean_speaker_name logging.basicConfig(level=logging.WARNING, format="%(asctime)s - %(levelname)s - %(message)s") # Rader kortare än så räknas som textlösa (inskannad PDF med stubb-HTML) MIN_TEXT_LEN = 200 def _as_list(v) -> list: """Riksdagens XML→JSON: ett barn blir dict, flera blir list, inget blir None.""" if v is None: return [] return v if isinstance(v, list) else [v] def _clean(v): """API:et serialiserar null som strängen 'None'.""" if v is None or v == "None": return None return v def html_to_text(html: str) -> str: """Extraherar ren text ur dokumentets html-fält (inleds med stort