[Trennmuster] Neuorganisation des Skript-Verzeichnisses

Keno Wehr wehr at abgol.de
Fr Okt 2 13:58:07 CEST 2020


Am 28.09.20 um 15:18 schrieb Guenter Milde:
> Anstelle einer Liste Pfaden für alle existierenden Skripte schlage ich vor,
> mit ein paar auf Grundprinzipien und -annahmen zu starten:
>
> * Wir brauchen
>    a) ein Verzeichnis mit den allgemein genutzten, hinreichend stabilen und
>       gewarteten Skripten
>       
>       - leicht erreichbar (kurze Pfade für wichtiges, längere für Extrawürste)
>       - "logisch" geordnet (nach Anwendung)
>       
>       Dort bitte nur in Absprache mit den anderen Dateien ablegen, mit der
>       Verpflichtung alles gut dokumentieren und auf Fehlermeldungen zu
>       reagieren (fixen oder zurück in den Experimentalordner b).
>       
>       Vorschlag: unser bisheriges Verzeichnis "/skripte" dafür nehmen.
>       
>    b) eine Spielwiese für Experimente
>
>       - hier darf jeder Unterverzeichnisse anlegen und darin unfertige Sachen
>         unterbringen
>       - wenn sich etwas als nützlich auch für andere herausstellt, können
>         diese eine Verlegung in Verzeichnis a) vorschlagen.
>         
>       Vorschlag: etwas wie /skripte/neu, /skripte/exptl, /skripte/unfertig, ...

Ehrlich gesagt finde ich es ganz überflüssig, aus der Skriptverwaltung 
eine solche Wissenschaft zu machen.
Es gibt hier nur ein paar wenige aktive Mitarbeiter und im Jahr kommt 
schätzungsweise höchstens eine Handvoll neuer Skripte hinzu. Dafür eine 
Art Zulassungsverfahren zu etablieren ist unnötig. Wer ein 
Unterverzeichnis anlegen will, wird dafür gute Gründe haben und sollte 
nicht erst um Erlaubnis bitten dürfen.
Was noch in der Entwicklung ist oder nur zum persönlichen Gebrauch 
bestimmt ist, hält man ohnehin lokal, dafür brauche ich keinen 
Experimentalordner.

Das Hauptproblem mit den Skripten (neben der unübersichtlichen 
Verzeichnisstruktur) war bisher, dass einige Skripte (z. B. validate) 
nicht lauffähig oder nicht voll funktionsfähig waren, da ihre Autoren 
(vorübergehend) inaktiv waren.
Hier würden die von dir beschriebenen Mechanismen aber gar nicht 
greifen, da ein inaktiver Autor weder auf Fehlermeldungen reagieren, 
noch seine Skripte in den Experimentalordner schieben würde.

Richtig ist, dass oft genutzte Skripte auf kurzen Pfaden erreichbar sein 
sollten. Hier denke ich an sort.py, validate und umformatierung. 
(extract-tex und make-full-pattern sind auch wichtig, werden aber in der 
Regel vom Makefile aufgerufen.)
Meine Liste war auf die Sachstruktur optimiert und kann in dieser 
Hinsicht natürlich modifiziert werden.

> Die Python-Skripte bauen stark aufeinander auf, so daß ich irgendwo einen
> Platz für Bibliotheks-Module brauche (gegenwärtig /skripte/python, wobei
> manche der Dateine dort sowohl als Bibliothek als auch als Front-End
> fungieren).

Auf deinen ausdrücklichen Hinweis vor zwei Jahren hin habe ich dieses 
Verzeichnis ja auch in meinem Vorschlag erhalten und du kannst dieses 
(oder ein Unterverzeichnis davon) für die Bibliotheksmodule nutzen.

Hier ein neuer Vorschlag, der auch den Zustand im Zweig 
fea-neuordnung-skripte berücksichtigt:

skripte/
* sort.py
* umformatierung.py
* validate.sh

skripte/python/
* abgleich_neueintraege.py
* compare_word_files.py
* edit_wortliste.py
* filter_wortliste.py
* hyphenate_neueintraege.py
* prepare_patch.py
* split_wortliste.py
* stilfilter.py
* wortliste.py
* wortzerlegung.py

skripte/python/lang_s/
* de_Latf_quasihyph.py
* long_s_quasihyph.py
* s2long-s.py

skripte/spezialmuster/
* de_Latf_conversion.py
* long_s_conversion.py
* prepare-ligature-wordlist.py (oder löschen, da überholt und durch 
„sprachauszug.py“ ersetzt). Die zugehörige Dokumentation „LIESMICH.md“ 
könnte evtl. ins Verzeichnis dokumente/.

skripte/trennmuster/
* diff-patgen-input.awk
* diff-patgen-input.sh

skripte/trennmuster/anwendung/
* apply-pattern.pl
* hyphenation.py

skripte/trennmuster/erzeugung/
* extract-tex.pl
* make-full-pattern.sh
* sprachauszug.py

skripte/wortliste/
* beugung.lua
* entferne-dopplungen.pl
* erzeuge-wortliste.pl
* hyph2wl.sh
* log2words.sed
* M4filter.pm
* make-hyphenlist.sh
* merge-wordlists.sh (z. Zt. offenbar falscher Dateiname 
„merge-wordslists.sh“)
* praefixkontrolle.sh
* prepare-wordlist.sh
* strippunct.sed
* wl-new2old.pl
* wlsort.pl
* words2tex.sed

skripte/wortliste/analyse/
* analyse.py
* plot.sh

skripte/wortliste/validate/
* helper_records.lua
* helper_words.lua
* tr2lpeg.awk
* validate.lua

Keno



Mehr Informationen über die Mailingliste Trennmuster