From 804533cde06189bb2109c063092d59b2d53ee4db Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Sun, 16 Mar 2025 17:15:39 +0100 Subject: ... --- home-modules/pandoc/german_abbreviations.txt.gup | 35 ++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 home-modules/pandoc/german_abbreviations.txt.gup (limited to 'home-modules/pandoc/german_abbreviations.txt.gup') diff --git a/home-modules/pandoc/german_abbreviations.txt.gup b/home-modules/pandoc/german_abbreviations.txt.gup new file mode 100755 index 00000000..abcab1da --- /dev/null +++ b/home-modules/pandoc/german_abbreviations.txt.gup @@ -0,0 +1,35 @@ +#!/usr/bin/env nix +#!nix shell --impure --expr `` +#!nix with (import (builtins.getFlake ''nixpkgs'') {}); +#!nix python3.withPackages (ps: with ps; [ requests ]) +#!nix `` --command python3 + +import requests +import json +import sys +import re +import subprocess + +def wiki_cont(url, params): + continue_params = None + while True: + req_params = params + if continue_params is not None: + req_params |= continue_params + json_data = requests.get(url, req_params).json() + if "query" in json_data: + yield json_data["query"] + if "continue" not in json_data: + break + else: + continue_params = json_data["continue"] + +out_re = re.compile(r"[^ ]*[^ 0-9][^ ]*\.") + +subprocess.run(["gup", "--always"], check=True) + +with open(sys.argv[1], 'w') as out: + for query in wiki_cont("https://de.wiktionary.org/w/api.php", {"action": "query", "list": "categorymembers", "cmtitle": "Kategorie:Abkürzung_(Deutsch)", "format": "json"}): + for item in map(lambda i: i["title"], query["categorymembers"]): + if out_re.fullmatch(item): + print(item, file=out) -- cgit v1.2.3