import json, re

def clean_spiegel_text(raw):
    """Extract article body from Spiegel HTML after tag-stripping."""
    # Find the article content between "Dieser Ausdruck wurde am" and the JS code
    # The article starts after the sharing buttons section
    # Look for the actual article text markers
    lines = raw.split('\n')
    # The article text is in the raw already - just need to find the relevant portion
    # Key markers: "Dieser Ausdruck wurde am" then article, then JS code starts with "if (response.status"
    
    # Find start: after "Link kopieren" and "SPIEGEL bei Google bevorzugen"
    start_markers = ["SPIEGEL bei Google bevorzugen", "image\"> Bild vergrößern"]
    end_markers = ["if (response.status !== 200)", "Mehr zum Thema", "hda/dpa", "fhi/Reuters"]
    
    # Try to find the article body
    article_start = -1
    for marker in start_markers:
        idx = raw.find(marker)
        if idx > 0:
            # Move past the marker
            after = raw[idx+len(marker):]
            # Find the next image caption end
            img_end = after.find("Foto:")
            if img_end > 0:
                # Find end of that line
                line_end = after.find("\n", img_end)
                if line_end > 0:
                    article_start = idx + len(marker) + line_end
                    break
            else:
                article_start = idx + len(marker)
                break
    
    if article_start < 0:
        # Fallback: find "Zur Merkliste hinzufügen" and go from there
        idx = raw.find("Zur Merkliste hinzufügen")
        if idx > 0:
            article_start = idx + len("Zur Merkliste hinzufügen")
    
    # Find end
    article_end = len(raw)
    for marker in end_markers:
        idx = raw.find(marker, article_start)
        if idx > 0 and idx < article_end:
            article_end = idx
    
    body = raw[article_start:article_end].strip()
    
    # Clean up: remove "Artikel anhören (X Minuten)" and "X Min" patterns
    body = re.sub(r'Artikel anh.ren \(\d+ Minuten\)', '', body)
    body = re.sub(r'\d+ Min', '', body)
    body = re.sub(r'X\.com Facebook E-Mail Link kopieren Weitere Optionen zum Teilen.*?Link kopieren', '', body)
    body = re.sub(r'SPIEGEL bei Google bevorzugen', '', body)
    
    # Collapse whitespace
    body = re.sub(r'\s+', ' ', body).strip()
    return body

# Article 1: Iran-USA (tagesschau)
ts_iran = """Straße von Hormus: USA melden Abschuss iranischer Drohnen | tagesschau.de Hauptnavigation Nebennavigation Inhalt Fußzeile Straße von Hormus USA melden Abschuss iranischer Drohnen Stand: 13.06.2026 • 05:34 Uhr Ein Abkommen zwischen den USA und Iran scheint greifbar. Doch in der Nacht gab es erneut Kämpfe: Das US-Militär schoss laut eigenen Angaben mehrere iranische Drohnen ab, die Schiffe in der Straße von Hormus bedroht hätten. Die US-Streitkräfte haben nach eigenen Angaben mehrere iranische Drohnen abgeschossen, die Handelsschiffe in der Straße von Hormus bedrohten. Iran habe die Angriffsdrohnen gestartet, um "Handelsschiffe anzugreifen, die die Straße von Hormus passieren", teilte das für die Golfregion zuständige US-Regionalkommando CENTCOM mit. Alle Drohnen seien abgeschossen worden, die Meerenge sei für die Durchfahrt von Schiffen weiterhin "offen". 11.06.2026 Eskalation am Golf USA greifen Iran an - Straße von Hormus gesperrt? Irans Militär erklärte nach neuen US-Angriffen, man habe die Straße von Hormus komplett gesperrt. mehr Angriffe trotz Verhandlungen Die Meerenge ist als Exportroute für Öl, Flüssigerdgas und Dünger aus den Staaten des Persischen Golfs von großer Bedeutung für die Weltwirtschaft. Die Führung in Teheran hatte zuletzt die "komplette" Schließung bekanntgegeben - dem widersprach jedoch die US-Armee. In den vergangenen Tagen hatte es trotz einer seit Anfang April geltenden Waffenruhe und Verhandlungen über eine Friedensvereinbarung intensive gegenseitige Angriffe gegeben. Das US-Militär griff Ziele in Iran an, Teheran reagierte mit Raketen- und Drohnenangriffen auf US-Stützpunkte in Bahrain, Jordanien und Kuwait. 12.06.2026 Mögliches Rahmenabkommen mit den USA Positive Signale aus Teheran Das iranische Außenamt hat deutliche Fortschritte bestätigt. Der Text sei "überwiegend finalisiert". mehr Friedensabkommen in greifbarer Nähe? Ungeachtet dieser Auseinandersetzungen stehen die USA und Iran nach übereinstimmender Darstellung beider Seiten sowie des Vermittlers Pakistans kurz vor einem Abkommen zur Beendigung des Kriegs. "Wir können bestätigen, dass ein endgültiger, von allen Seiten abgestimmter Text des Friedensabkommens erreicht wurde", schrieb Pakistans Premierminister Shehbaz Sharif auf der Online-Plattform X. Pakistan arbeite nun eng mit beiden Seiten zusammen, um die nächsten Schritte zu finalisieren. Der iranische Außenminister Abbas Araghtschi hatte zuletzt gesagt: "Sobald die letzten Phasen unserer Verhandlungen abgeschlossen sind, wird dieses Abkommen unterzeichnet und bekanntgegeben", sagte Araghtschi im iranischen Staatsfernsehen. Gudrun Engel, ARD Washington, zu offenbar finaler Vereinbarung zwischen USA und Iran tagesschau24, 12.06.2026 • 20:00 Uhr Große Streitpunkte Ein Abkommen wäre ein wichtiger Meilenstein für ein Ende des Kriegs, den die USA und Israel am 28. Februar gegen Iran begonnen hatten. Allerdings lagen die Positionen der beiden Länder noch deutlich auseinander. Streit gibt es unter anderem um Irans Atomprogramm, den Schiffsverkehr in der Straße von Hormus, den Krieg im Libanon, Sanktionen gegen Iran und eingefrorene iranische Vermögen im Ausland. Auch gab es sehr unterschiedliche Äußerungen darüber, in welchen Punkten man zu einer Einigung gelangt sei."""

# Article 2: EU-Ukraine-Moldau (tagesschau)
ts_eu = """EU beginnt Beitrittsverhandlungen mit Ukraine und Moldau am Montag | tagesschau.de Hauptnavigation Nebennavigation Inhalt Fußzeile Ab Montag EU beginnt Beitrittsverhandlungen mit Ukraine und Moldau Stand: 13.06.2026 • 03:49 Uhr Mehr als zwei Jahre hat es gedauert, doch nun kann es losgehen: Die EU startet ihre Beitrittsgespräche mit der Ukraine und Moldau. Möglich ist dies nun, da Ungarns neue Regierung die Blockade-Politik beendet hat. Die EU wird am kommenden Montag die Beitrittsverhandlungen mit der Ukraine und Moldau beginnen. Wie die derzeitige zyprische Ratspräsidentschaft mitteilte, haben die Mitgliedstaaten nach dem Ende der ungarischen Blockade einen gemeinsamen Standpunkt zum ersten Verhandlungsabschnitt vereinbart und damit die notwendigen Vorbereitungen abgeschlossen. 04.06.2026 Europäische Union Weg frei für Beitrittsverhandlungen mit Moldau und Ukraine Ungarns Regierungschef hatte zuvor die Blockade seines Landes gegen Beitrittsgespräche mit Kiew beendet. mehr Ungarn beendet Blockade Die EU-Beitrittsverhandlungen mit der Ukraine und Moldau waren eigentlich bereits im Juni 2024 formal begonnen worden. Die Eröffnung des ersten Verhandlungsabschnitts mit der Ukraine wurde dann allerdings von Ungarn mit einem Veto blockiert. Erst nach der Abwahl des langjährigen ungarischen Regierungschefs Viktor Orban im April kam wieder Bewegung in den Prozess. Der neue ungarische Ministerpräsident Peter Magyar meldete dann in der vergangenen Woche eine Einigung mit der Ukraine auf ein Abkommen zur Stärkung der Minderheitenrechte der ethnischen Ungarn im östlichen Nachbarland. Magyar hatte eine solche Einigung zur Bedingung dafür gemacht, den EU-Beitrittsgesprächen mit der Ukraine zuzustimmen. 21.05.2026 EU-Beitrittsverhandlungen mit Ukraine Erst Sonderstatus, dann Vollmitglied? Der Vorschlag stammt von Kanzler Merz: Die Ukraine wäre quasi ein Mitglied, aber mit weniger Rechten. mehr Langer Prozess - mit ungewissem Ausgang Im ersten Verhandlungsabschnitt, der offiziell erstes Cluster genannt wird, müssen die Länder unter anderem zeigen, dass ihr Justizsystem und die öffentliche Verwaltung den EU-Standards entsprechen. Der Prozess der Beitrittsverhandlungen ist thematisch in sechs Abschnitte mit insgesamt 33 sogenannten Kapiteln eingeteilt. Die Verhandlungen ziehen sich in der Regel über Jahre hin, und es ist auch nicht ausgemacht, dass sie erfolgreich abgeschlossen werden können. Die EU-Beitrittsverhandlungen mit der Türkei wurden beispielsweise bereits 2005 gestartet - sie liegen allerdings heute nach fortdauernden Rückschritten des Landes in den Bereichen Demokratie, Rechtsstaatlichkeit und Grundrechte vollständig auf Eis."""

# Article 3: Steinbrück AfD (spiegel) - extract clean
sp_steinbrueck_raw = """Der ehemalige Bundesfinanzminister Peer Steinbrück schlägt perspektivisch eine neue Herangehensweise im Umgang mit der AfD vor. Der Sozialdemokrat sagte im Podcast »Ronzheimer« mit Blick auf die von der AfD vertretenen Positionen, dass er die sogenannte Brandmauer »auf absehbare Zeit« für notwendig erachte. Der ehemalige NRW-Ministerpräsident warf zugleich die Frage auf, wie eine »gewisse Veränderung der AfD im politischen Spektrum in Richtung auf eine rechtskonservative Position« veranlasst werden könnte. Kooperation nur unter Bedingungen Steinbrück schlug in dem Podcast von »Bild«-Vize Paul Ronzheimer vor, rote Linien zu definieren auf den unterschiedlichen politischen Gebieten, wo man sage: »Solange ihr euch da nicht verlässlich drauf einlasst, solange ist definitiv keine Kooperation, keine Duldung möglich.« Steinbrück verwies dabei auf Vorstöße des Historikers Andreas Rödder, einst Vorsitzender der CDU-Grundwertekommission, zum Umgang mit der AfD. Dieser hatte für eine »konditionierte Gesprächsbereitschaft diesseits der 'Brandmauer'« plädiert. Es sei einen Versuch wert, das Gespräch zu suchen, wenn »die AfD rote Linien einhält und sich klar von rechtsextremen Positionen und Figuren abgrenzt«, sagte Rödder im vergangenen Jahr dem »Stern«. Forderung nach Entzug des passiven Wahlrechts Steinbrück sprach sich dafür aus, »wenigstens diese Überlegung mal weiterzuschieben, ob es darüber auch eine Möglichkeit gibt, diese AfD stärker zu entradikalisieren«. Ein Verbotsverfahren gegen die AfD lehnte Steinbrück ab. »Deshalb verschwinden die Wähler nicht. Und ich grenze damit automatisch auch die Wähler der AfD aus und kriminalisiere sie vielleicht, die ich zurückgewinnen könnte«, argumentierte er. Zudem sei es sehr schwer, ein Verbotsverfahren beim Bundesverfassungsgericht erfolgreich durchzusetzen – und ein Scheitern hätte aus seiner Sicht »katastrophale Folgen«. Stattdessen sprach der Sozialdemokrat sich dafür aus, einzelnen Vertretern der AfD das passive Wahlrecht zu entziehen – zum Beispiel Björn Höcke, dem Partei- und Fraktionschef der vom Verfassungsschutz als gesichert rechtsextrem eingestuften Thüringer AfD. »Ich glaube, dass es genügend Material gibt, um deutlich zu machen, dass Herr Höcke ein Geisteskind ist, das mit den Grundlagen unserer Verfassung nichts zu tun hat«, sagte Steinbrück. Das Grundgesetz sieht in Artikel 18 vor, dass bestimmte Grundrechte verwirkt werden können, wenn Rechte wie die freie Meinungsäußerung »zum Kampfe gegen die freiheitliche demokratische Grundordnung missbraucht« werden. Wie beim Parteienverbot wäre auch hier das Bundesverfassungsgericht zuständig."""

# Article 4: Starmer (spiegel) - extract clean
sp_starmer_raw = """Der britische Premierminister Keir Starmer hat Spekulationen über einen möglichen Rückzug aus dem Amt zurückgewiesen. Er kündigte an, um seine politische Zukunft kämpfen zu wollen. »Ich werde nicht einfach weggehen«, sagte Starmer dem Sender BBC. Auslöser der jüngsten Debatte über seine Führung war der überraschende Rücktritt von Verteidigungsminister John Healey am Donnerstag. Healey hatte Starmer vorgeworfen, nicht die notwendigen finanziellen Mittel bereitzustellen, um die Sicherheit des Landes zu gewährleisten. Beobachter werteten die Kritik als weiteren Schlag für den angeschlagenen Premierminister. Starmer will sich jedem Versuch widersetzen, ihn aus dem Amt zu drängen Mit Blick auf mögliche Herausforderer innerhalb seiner Partei erklärte Starmer, er werde sich jedem Versuch widersetzen, ihn aus dem Amt zu drängen. Sein Festhalten am Posten habe »nichts mit persönlicher Eitelkeit oder Sturheit« zu tun, sondern mit einem »tiefen Pflichtgefühl«. Er sei gewählt worden, um dem Land zu dienen – auch unter schwierigen Bedingungen. Die Vorwürfe Healeys wies Starmer zurück. Verteidigung und nationale Sicherheit seien seine obersten Prioritäten und würden dies auch bei künftigen Haushaltsentscheidungen bleiben. Bereits jetzt habe die Regierung »harte Entscheidungen« getroffen und die Budgets anderer Ressorts gekürzt, um zusätzliche Investitionen in die Verteidigung zu ermöglichen. Zugleich verwies Starmer auf die angespannte Haushaltslage. Jeder künftige Regierungschef werde mit denselben finanziellen Zwängen konfrontiert sein. »Wer auch immer Premierminister ist, wird denselben Gegenwind erleben wie ich«, sagte er."""

# Article 5: Trump Kennedy Center (zeit)
zeit_trump = """USA: Trumps Name wird von Kennedy Center entfernt | DIE ZEIT Arbeiter haben mit der Entfernung des Namens von US-Präsident Donald Trump von der Fassade des Kennedy Centers in der Hauptstadt Washington, D.C. begonnen. Ein Richter hatte zuvor einen Eilantrag abgelehnt, mit dem der Vorstand der renommierten Kultureinrichtung in letzter Minute versucht hatte, die Entfernung des umstrittenen Schriftzuges zu stoppen. Im Mai hatte ein Bundesgericht die Umbenennung für illegal befunden. Nur der US-Kongress hätte demnach den Namen der Kultureinrichtung ändern dürfen. Dass Trump seinen Namen eigenmächtig anbringen ließ, sei unrechtmäßig gewesen. Das Gericht entschied, dass Trumps Name bis Freitag entfernt werden müsse. Am Abend versammelte sich vor dem Gebäude in Washington eine Menschenmenge und feuerte die Bauarbeiter an, während sie ein Baugerüst an der Fassade errichteten und die Lettern mit Werkzeugen behandelten. Das Spektakel wurde vom Onlinedienst YouTube live übertragen. Auf der Website des Kennedy Centers war Trumps Name bereits gestrichen worden. Künstler sagte nach Trumps Übernahme Auftritte ab Die Umbenennung des Kennedy Center und dessen personelle Neubesetzung galt vielen Amerikanern als Angriff auf die Kultur der USA. Kurz nach seinem Amtsantritt im Januar 2025 ließ Trump die Führung der Einrichtung durch einen von ihm ausgewählten Vorstand ersetzen. Dieser ernannte Trump selbst anschließend zum Vorsitzenden. Der Vorstand entschied weiter, die Einrichtung in Trump Kennedy Center umzubenennen und den Namen des Präsidenten an der Fassade anzubringen. Die Reaktionen aus der Kulturszene fielen deutlich aus: Zahlreiche Künstler sagten Auftritte ab, andere Berater und Verantwortliche legten ihre Ämter nieder. Das Kennedy Center ist eine der prestigeträchtigsten Kultureinrichtungen des Landes. Dort werden traditionell alle Genres von Theater, Tanz und Musik gezeigt. Das Kennedy Center wurde 1971 eröffnet und nach dem früheren Präsidenten John F. Kennedy (1917–1963) benannt."""

# Clean up tagesschau texts (remove nav boilerplate)
def clean_ts(text):
    # Remove the header nav boilerplate
    text = re.sub(r'^.*?Hauptnavigation Nebennavigation Inhalt Fußzeile\s*', '', text)
    # Remove footer
    text = re.sub(r'Dieses Thema im Programm:.*$', '', text, flags=re.DOTALL)
    text = re.sub(r'Mehr zum Thema.*$', '', text, flags=re.DOTALL)
    text = re.sub(r'Zur Startseite.*$', '', text, flags=re.DOTALL)
    # Remove embedded teaser links (date patterns followed by titles)
    text = re.sub(r'\d{2}\.\d{2}\.\d{4}\s+[A-ZÄÖÜ].*?mehr\s*', '', text)
    # Collapse whitespace
    text = re.sub(r'\s+', ' ', text).strip()
    return text

def clean_zeit(text):
    text = re.sub(r'^.*?DIE ZEIT\s*', '', text)
    text = re.sub(r'Mehr zum Thema.*$', '', text, flags=re.DOTALL)
    text = re.sub(r'Kommentieren.*$', '', text, flags=re.DOTALL)
    text = re.sub(r'\s+', ' ', text).strip()
    return text

articles = [
    {
        "title": "Iran-USA: Friedensabkommen greifbar – USA schießen erneut iranische Drohnen ab",
        "summary": "Trotz eines unmittelbar bevorstehenden Friedensabkommens zwischen den USA und Iran kam es in der Nacht zu neuen Kampfhandlungen. Das US-Militär schoss nach eigenen Angaben mehrere iranische Drohnen ab, die Handelsschiffe in der strategisch wichtigen Straße von Hormus bedrohten. Pakistans Premierminister bestätigte, dass ein endgültiger, von allen Seiten abgestimmter Text des Friedensabkommens erreicht wurde. Irans Außenminister Abbas Araghtschi erklärte, die Unterzeichnung stehe kurz bevor. Allerdings bestehen weiterhin große Streitpunkte, darunter Irans Atomprogramm und Sanktionen.",
        "source_url": "https://www.tagesschau.de/ausland/asien/iran-usa-abkommen-angriffe-100.html",
        "tag": "tag-urgent",
        "full_text": clean_ts(ts_iran)
    },
    {
        "title": "EU beginnt am Montag Beitrittsverhandlungen mit Ukraine und Moldau",
        "summary": "Nach mehr als zwei Jahren Blockade durch Ungarn startet die EU am kommenden Montag offiziell die Beitrittsverhandlungen mit der Ukraine und Moldau. Die zyprische Ratspräsidentschaft bestätigte, dass alle 27 Mitgliedstaaten einem gemeinsamen Standpunkt zum ersten Verhandlungsabschnitt zugestimmt haben. Möglich wurde der Durchbruch durch die Abwahl von Viktor Orbán und den Amtsantritt des neuen ungarischen Ministerpräsidenten Peter Magyar, der eine Einigung über Minderheitenrechte mit der Ukraine erzielte. Der Beitrittsprozess umfasst sechs Themenabschnitte mit 33 Kapiteln und wird sich voraussichtlich über Jahre hinziehen.",
        "source_url": "https://www.tagesschau.de/ausland/eu-ukraine-moldau-102.html",
        "tag": "tag-politik",
        "full_text": clean_ts(ts_eu)
    },
    {
        "title": "Peer Steinbrück schlägt neue Strategie zur „Entradikalisierung" der AfD vor",
        "summary": "Der ehemalige Bundesfinanzminister Peer Steinbrück (SPD) hat eine neue Herangehensweise im Umgang mit der AfD vorgeschlagen. Im Podcast „Ronzheimer" plädierte er dafür, rote Linien zu definieren, bei deren Überschreitung jede Kooperation ausgeschlossen bleibt. Ein Verbotsverfahren lehnt Steinbrück ab, da dies die Wähler nicht verschwinden lasse und ein Scheitern „katastrophale Folgen" hätte. Stattdessen sprach er sich dafür aus, einzelnen AfD-Vertretern wie Björn Höcke das passive Wahlrecht über Artikel 18 des Grundgesetzes zu entziehen.",
        "source_url": "https://www.spiegel.de/politik/peer-steinbrueck-regt-neue-strategie-im-umgang-mit-der-afd-an-a-27fa99a9-bf40-442f-a5e7-3fe4f72c8e3c",
        "tag": "tag-politik",
        "full_text": sp_steinbrueck_raw
    },
    {
        "title": "Großbritannien: Premier Starmer kündigt harten Machtkampf um sein Amt an",
        "summary": "Der britische Premierminister Keir Starmer hat Spekulationen über einen möglichen Rückzug entschieden zurückgewiesen und einen Machtkampf um seine politische Zukunft angekündigt. Auslöser der Krise war der überraschende Rücktritt von Verteidigungsminister John Healey, der Starmer mangelnde Finanzierung der Landesverteidigung vorgeworfen hatte. Starmer betonte, sein Festhalten am Amt habe nichts mit Eitelkeit zu tun, sondern mit einem tiefen Pflichtgefühl. Er verwies auf die angespannte Haushaltslage und erklärte, jeder künftige Premierminister werde denselben Gegenwind erleben.",
        "source_url": "https://www.spiegel.de/politik/grossbritannien-keir-starmer-kuendigt-harten-machtkampf-um-sein-amt-an-a-ac191060-111f-4b84-8d98-062c940c0c85",
        "tag": "tag-politik",
        "full_text": sp_starmer_raw
    },
    {
        "title": "USA: Trumps Name per Gerichtsbeschluss vom Kennedy Center entfernt",
        "summary": "Arbeiter haben damit begonnen, den Namen von US-Präsident Donald Trump von der Fassade des Kennedy Centers in Washington, D.C. zu entfernen. Ein Bundesgericht hatte die eigenmächtige Umbenennung durch Trump im Mai für illegal erklärt, da nur der Kongress den Namen der Kultureinrichtung ändern dürfe. Die Entfernung wurde live auf YouTube übertragen, während sich eine Menschenmenge vor dem Gebäude versammelte und die Bauarbeiter anfeuerte. Trump hatte kurz nach seinem Amtsantritt 2025 die Führung des Kennedy Centers austauschen und seinen Namen anbringen lassen, woraufhin zahlreiche Künstler ihre Auftritte absagten.",
        "source_url": "https://www.zeit.de/politik/ausland/2026-06/donald-trump-kennedy-center-name-entfernt",
        "tag": "tag-politik",
        "full_text": clean_zeit(zeit_trump)
    }
]

print(json.dumps(articles, ensure_ascii=False, indent=2))
