Some checks failed
Momentrum CI / Version (aus PR-ID / SHA) (push) Successful in 2s
Momentrum CI / Test (compile + pytest) (push) Successful in 19s
Momentrum CI / Helm lint + template (push) Successful in 9s
Momentrum CI / Build & Push image (push) Failing after 6s
Momentrum CI / Deploy PROD (Image-Tag -> CD-Repo) (push) Has been skipped
pytest sammelte die Funktion test_extract(email,token) faelschlich als Test ein (fixture 'email' not found). Umbenannt in ein klar erkennbares Hilfsskript, damit der CI-Guard 'ls test_*.py' sauberer skippt. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
71 lines
2.0 KiB
Python
71 lines
2.0 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Hilfsskript (manuell, KEIN pytest-Test): Mail abrufen und Link extrahieren.
|
|
|
|
Verwendung:
|
|
python check_extract_link.py eg5gyqjqp5@web-library.net TOKEN_HIER
|
|
|
|
oder: Token aus app.py Step 1 Tabelle kopieren
|
|
"""
|
|
|
|
import sys
|
|
import json
|
|
from mailtm import list_messages, get_message_html
|
|
from core import extract_form_link
|
|
|
|
def run_extract(email, token):
|
|
print(f"📧 Abrufen von Mails fuer: {email}")
|
|
print(f"🔑 Token: {token[:20]}...")
|
|
print()
|
|
|
|
try:
|
|
msgs = list_messages(token)
|
|
print(f"📬 Mails gefunden: {len(msgs)}\n")
|
|
|
|
if not msgs:
|
|
print("❌ Keine Mails im Postfach!")
|
|
return
|
|
|
|
for i, m in enumerate(msgs, 1):
|
|
msg_id = m.get("id", "?")
|
|
sender = m.get("from", {})
|
|
if isinstance(sender, dict):
|
|
sender = sender.get("address", "?")
|
|
|
|
print(f"--- Mail {i} ---")
|
|
print(f"Von: {sender}")
|
|
print(f"Betreff: {m.get('subject', '(kein Betreff)')}")
|
|
print(f"ID: {msg_id}")
|
|
|
|
html = get_message_html(token, msg_id)
|
|
link = extract_form_link(html)
|
|
|
|
if link:
|
|
print(f"✅ LINK GEFUNDEN:")
|
|
print(f" {link}")
|
|
else:
|
|
print(f"❌ Kein Link extrahierbar")
|
|
# Debug: erste 500 Zeichen zeigen
|
|
preview = html[:500].replace("\n", " ")
|
|
print(f" Preview: {preview}...")
|
|
|
|
print()
|
|
|
|
except Exception as e:
|
|
print(f"❌ Fehler: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
|
|
if __name__ == "__main__":
|
|
if len(sys.argv) < 3:
|
|
print("Verwendung:")
|
|
print(" python check_extract_link.py EMAIL TOKEN")
|
|
print()
|
|
print("Beispiel:")
|
|
print(" python check_extract_link.py eg5gyqjqp5@web-library.net abc123xyz...")
|
|
sys.exit(1)
|
|
|
|
email = sys.argv[1]
|
|
token = sys.argv[2]
|
|
run_extract(email, token)
|