Edit Diskussion History Attachments

LarpWikiAnomalyScanner

LarpWikiAnomalyScanner

Das Script durchsucht gespeicherte Larp-Wiki-Seitenquelltexte (kann man sich bequem mit LarpWiki2Text beschaffen) nach Anomalien, die wahrscheinlich die Darstellung als Wiki-Seite beeinträchtigen.
Für die Anomalien gibt es auch legitime Anwendungsfälle (im Zweifel als Beispiel auf einer Hilfeseite). Aber in den meisten Fällen handelt es sich um Eingabefehler, Altlasten und Konvertierungs-Artefakte. Das Script ist in Python 3 geschrieben, passt sich der Breite des Terminals an und liegt auch auf Github.

example.png

  • Ich habe auf Basis der Ausgabe der V2 grade drei Stunden lang Seiten korrigiert. Es gibt immer noch eine Menge Konvertierungsartefakte vom UseMod-zu-MoinMoin-Wechsel. Also wer noch nach einem leicht erfüllbaren guten Vorsatz für 2018 sucht, braucht nicht weiter suchen!
    - Allan Wegan, 2017-12-30

Version 1

larpWikiAnomalyScannerV1.py

Gesucht wird nach:

  • Ungültige oder höchstwahrscheinlich unerwünschte Unicode-Code-Points.
  • Ungültige Redirects.
  • UseMod-Altlasten (Tags, Listen, Einrückungen, Definitionen, Upload-Links, Numerierungs-"#" in Überschriften).

  • Fehlkonvertierte unbenannte interne und benannte externe Links.
  • Falschgeschriebene <<BR>>-Tags.

  • Diverse Überschriftenspezifische Dinge. Beispielsweise überzählige oder fehlende Leerzeichen.

Version 2

larpWikiAnomalyScannerV2.py:

  • Besseres Handling von invalidem UTF-8
  • Ausgabe der Statistik auch bei Abbruch mittels CTRL-C
  • Sucht die Seitentexte nun in einem konfigurierten Verzeichnis
  • Die Seiten-URLs werden alleinstehend ausgegeben, um die Kopierbarkeit zu verbessern

Version 3

larpWikiAnomalyScannerV3.py:

  • Deutlich schnellere Textverarbeitung dank Multiprocessing und anderen Optimierungen
  • Code-Qualitätsverbesserungen

Mögliche zukünftige Features

Yep, das meiste davon wird nicht implementiert werden. Aber falls jemand was implementieren will, wird den sicher keiner davon abhalten. ;)

  • Parameter für alle Einstellungen
  • Möglichkeit, eine Anzahl Seiten zu überspringen und nur eine bestimmte Menge Seiten-Berichte anzuzeigen.
  • Ignorieren von Seiten per Regular-Expressions (beispielsweise, um alle Diskussionsseiten zu ignorieren)

  • Heuristiken für die Erkennung von absichtlich gesetzten Klammern, die keine Links sein sollen
  • Prüfung externer Links auf Existenz
  • Prüfung externer Links gegen eine "bad domains"-Liste (optimalerweise eine, die im Wiki liegt und somit von LarpWiki2Text mit runtergeladen wird)

  • Prüfung externer Links gegen eine irgendwie geartete, händisch gepflegte, "content"-Liste (vermutlich Listen aus XPaths oder CSS-Selectoren), um Dummy-Seiten und gegrabbte Domains zu erkennen

  • GUI (vermutlich Tkinter-basiert)

  • Generieren korrigierter Seitentexte, die dann nur noch ins Wiki kopiert und endgeprüft werden müssen (vollautomatisch ist unmöglich, weil die Wiki-Syntax zu nah an natürlicher Sprache ist und daher immer False-Positives vorkommen werden).


Siehe auch: LarpWiki2Text
Zurück zu: LARP-Wiki-Themen > Technische Dinge