Hauptmenü öffnen

AntamarWiki β

Änderungen

AOQML-Massenvalidierung

3.771 Bytes hinzugefügt, 19:44, 12. Aug. 2017
keine Bearbeitungszusammenfassung
== Anwendung ==
Die Einrichtung und Anwendung unterscheidet sich je nach Betriebssystem und ist nicht explizit auf Benutzerfreundlichkeit ausgelegt, sondern richtet sich eher an Nutzer mit Programmierkenntnissenoder gewisser Frusttolleranz bei der Einrichtung neuer Software/Apps. Daher hier folgend Anleitungen für Windows und Linux. Das Skript funktioniert grundsätzlich aber auch mit macOS.
Das Skript selbst ist in Python 2.7 geschrieben, aber lauffähig von 2.6 bis mindestens 3.6 und verwendet Java für den eigentlichen Abgleich. Es sollten demnach Java das JDK und Python installiert sein.
=== Windows 8.1 ===Bla# [https://www.python.org/ Python] installieren, wenn noch nicht geschehen. Idealerweise auf der Hauptebene einer Festplatte, also zum Beispiel unter ''C:\Python36''.# Eine halbwegs aktuelle [https://www.java.com/de/ Javaversion] installieren, wenn noch nicht geschehen.# Python als Befehl in Windows' Kommandozeilentool (Eingabeaufforderung; cmd) einrichten. (Optional, wir gehen hier in der Folge davon aus, dass es gemacht wurde.) Dazu in die Systemsteuerung gehen, System, Erweiterte Systemeinstellungen, Erweitert, Umgebungsvariablen und dort bei Path ans Ende euren Pfad zum Pythonordner eintragen. Mit einem Semikolon davor, damit Windows weiß, dass dort ein neuer Pfad beginnt. <br>[[Datei:Python umgebungsvariablen.png|550px|Grafik zur Einrichtung der Umgebungsvariablen]]# Das Skript für die Massenvalidierung herunterladen und in einen schicken, leicht zugänglichen Ordner packen. Wenn all eure Projekte für Antamar in einem Ordner liegen, würde der sich anbieten. # Eingabeaufforderung starten und in den Ordner navigieren, in dem ihr das Skript abgelegt habt. Da Konsolenbefehle nicht mehr zum Allgemeinwissen gehören, hier ein Beispiel. <br>Antamarprojekte liegen auf einer zweiten Festplatte (D) im Ordner ''Antamar'' und ihr müsst dort von C aus hinnavigieren:<br>[[Datei:Eingabeaufforderung.png|Ordnernavigation Eingabeaufforderung]]# Dort angekommen und unter der Annahme, dass ihr dort die Dateien aus dem Archiv hin kopiert habt und die Umgebungsvariable erweitert, gebt ihr '''checkintegrity.py PfadzumPrüfordner > foo.txt''' ein und startet das Skript mit der Eingabetaste.<br>[[Datei:Integritaetspruefung.png|Ablauf der Integritätsprüfung]]<br>Ihr könnt natürlich auch volle Pfade der Form ''C:\Antamar\Projekt1\Quest1'' angeben, müsst es sogar, wenn sich die Ordner nicht im gleichen Verzeichnis wie das Skript befinden. Hängt man das ''> name.txt'' hinten dran, wird eine Textdatei erstellt, die die Auswertung enthält, lässt man es weg, werden die Fehler direkt in der Konsole ausgegeben, wie auf dieser Grafik zu sehen. Der Name der Datei ist frei wählbar.<br>Falls ihr Schritt drei ausgelassen habt, müsstet ihr zum Starten jedes Mal sehr viel mehr tippen, das kann dann in etwa so aussehen: '''C:\Python36\python.exe checkintegrity.py D:\Antamar\Quest1 > fehler.txt'''.<br>Und ja, natürlich könnt ihr das Skript auch ''ci.py'' nennen und dann darüber aufrufen. Kein Problem.
=== Linux (Ubuntu) ===Bla# Linux liefert Python direkt mit und Linuxnutzern muss in der Regel auch die Konsole nicht mehr erklärt werden, daher kann man sich hier kurz fassen. Wenn nötig, JDK installieren. (Open JDK macht Probleme)# Das ZIP-Archiv mit dem Skript und den Hilfsdateien runterladen und an einer schönen Stelle platzieren.# '''python checkintegrity.py /PfadZumPrüfordner/ > foo.txt''' in der Konsole ausführen, nachdem man zum passenden Ordner navigiert ist.# Über Ergebnis freuen oder ärgern. Selbiges findet sich entweder in der angegebenen Textdatei im Ordner in dem auch das Skript liegt oder wird direkt in der Konsole ausgegeben, wenn man ''> foo.txt'' weglässt. Auch hier kann der Name des Skripts natürlich verkürzt werden, wenn man weniger tippen will und der Name der Auswertungsdatei ist ebenso frei wählbar.
=== Bekannte Probleme aka. TODO für die Zukunft ===
* Wenn in Links [[Store fetch|Variablen ]] genutzt werden, wird fälschlicherweise ein Fehler geschmissen. Dieser kann ignoriert nicht evaluiert werden. Variablen in Links sollten künftig bei der Auswertung ignoriert oder , ob die Dateien existieren, da es sollte geschaut werdenzu aufwendig würde, welche Werte sie annehmen können, um sämtliche Dateien nach möglichen Werten für die Variable zu durchforsten und diese dann auf diese Werte zu prüfen. Dazu sollte zumindest ein Hinweis ausgegeben werden.* Bei Verwendung von Funktionen aus der [[AOQML Library|AOQML-Bibliothek]] wird angegebennicht geprüft, dass ob die Datei nicht Bib tatsächlich existiert. Das [Array mit Libkandidaten nachrüsten?]* Verschachtelte ''includes'' mit Ebenenwechsel können zu falschen Fehlermeldungen führen.* Hohe Laufdauer des Skripts bei sehr vielen Dateien ist formal korrektnormal und kein Grund zur Besorgnis. Einfach warten, kann aber ignoriert werdenes schließt irgendwann ab. Skriptoptimierung ist möglich. Künftig Links * Nachdem ein toter Link gefunden wurde, wird der Rest der entsprechenden Datei nicht mehr betrachtenweiter nach selbigen durchsucht.* Nach einer Meldung der Form "references missing file" folgt im Textdokument nur ein einfacher Zeilenumbruch, die mit /lib/ anfangen oder die Liste der möglichen Libraries in einem Array hinterlegenstatt mehrerer, sodass hier auch auf korrekte Schreibung geprüft werden kann. Nachteil: Händisch nachzurüstenwie sonst überall.
== Download des Scripts Skripts ==Hier die aktuelle Version des Scripts Skripts zum Download.
[[Datei:questbatch_validationQuestbatch validation.zip]] [[Kategorie:AOQML‏‎]][[Kategorie:Mitarbeit]]
3.459
Bearbeitungen