Zum Inhalt springen
PyCologne
  • Startseite
  • News
  • Termine
  • Mitmachen
  • Kontakt
  • Über

Protokolle durchsuchen

Durchsucht die Protokolle aller vergangenen Treffen, von den Etherpad-Mitschriften ab 2013 bis heute. Mehrere Begriffe werden verknüpft, es genügt jeweils der Wortanfang.

</>
pycgnweb/search.py live
def build_query(user_input: str) -> str:
    """Nutzereingabe in einen FTS5-Ausdruck uebersetzen.

    Die FTS5-Syntax kennt eigene Operatoren (``AND``, ``NEAR``, ``*``,
    Klammern), an denen eine unbedachte Eingabe zu einem SQL-Fehler fuehrt.
    Deshalb wird die Eingabe in Terme zerlegt, jeder Term als Phrase
    gequotet und mit ``*`` zur Praefixsuche erweitert. Mehrere Begriffe
    werden mit AND verknuepft, es zaehlt also nur, was alle Begriffe
    enthaelt.
    """
    terms = _TERM_RE.findall(user_input)
    if not terms:
        return ""
    return " AND ".join(f'"{term}"*' for term in terms)

>>> build_query('pandas dataframe')
'"pandas"* AND "dataframe"*'

Zurück zu den Terminen

PyCologne

Made with ♥ in Köln · Quellcode · Inhalte 103733b

Powered by

Python   3.13.12
Flask    3.1.2
Babel    2.17.0
markdown-it-py  3.0.0