Merge pull request 'mediawiki: Suchfehler lesbar statt als Stacktrace (0.1.1)' (#11) from fix/wiki-suchfehler into main

Reviewed-on: #11
This commit was merged in pull request #11.
This commit is contained in:
sko committed 2026-10-08 06:02:16 +02:00
commit d00d195ac3
2 files changed
+8 -1

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "mediawiki", "name": "mediawiki",
"version": "0.1.0", "version": "0.1.1",
"description": "MediaWiki-Seiten/Templates lesen, rendern und schreiben via wiki.py (fetch/update/render/search, Instanzen wiki & devwiki).", "description": "MediaWiki-Seiten/Templates lesen, rendern und schreiben via wiki.py (fetch/update/render/search, Instanzen wiki & devwiki).",
"author": { "author": {
"name": "inmedias.it" "name": "inmedias.it"
@@ -88,6 +88,7 @@ def cmd_search(args: argparse.Namespace) -> None:
sys.exit(f"Error: unknown namespace '{ns_key}'. " sys.exit(f"Error: unknown namespace '{ns_key}'. "
f"Known: all, {', '.join(NAMESPACES)}") f"Known: all, {', '.join(NAMESPACES)}")
try:
result = site.api( result = site.api(
"query", list="search", "query", list="search",
srsearch=args.query, srsearch=args.query,
@@ -95,6 +96,12 @@ def cmd_search(args: argparse.Namespace) -> None:
srlimit=50, srlimit=50,
srprop="title|snippet", srprop="title|snippet",
) )
except mwclient.errors.APIError as exc:
if exc.code == "cirrussearch-parse-error":
sys.exit(f"Error: Suchanfrage nicht verstanden: {args.query!r}\n"
f"Hinweis: 'insource:wort' funktioniert, die Regex-Form "
f"'insource:/muster/' ist auf dieser Instanz nicht freigeschaltet.")
sys.exit(f"Error: Suche fehlgeschlagen ({exc.code}): {exc.info}")
hits = result["query"]["search"] hits = result["query"]["search"]
if not hits: if not hits:
print("(keine Ergebnisse)", file=sys.stderr) print("(keine Ergebnisse)", file=sys.stderr)