• Keine Ergebnisse gefunden

Temporäres Verzeichnis

Im Dokument Gerald Prock, Bakk. (Seite 55-62)

6.3 Programmstruktur

6.3.2 Temporäres Verzeichnis

Für den Bearbeitungsvorgang existiert ein temporäres Verzeichnis, welches bei jedem Programmstart neu angelegt und mit Daten während der Bearbeitung gefüllt wird. Der Aufbau dieses Verzeichnis ist in Abbildung 9 auf Seite 47 zu sehen. Die in der Skizze fehlenden Ordner sind in Abbildung 10 auf Seite 48 dargestellt. Einträge, welche mit spitzen Klammern umrundet sind, bedeuten eine dynamische Anpassung mit laufender Nummer oder eigenem Namen. Die Anzahl der generierten Verzeichnisse ist dabei nur von der verwendeten Datenquelle abhängig.

Der Zweck der einzelnen Dateien ist folgender:

• Die Datei “bashlog” beinhaltet nach der Programmausführung sämtliche auf der Konsole ausgegebenen Texte.

Abbildung 8: Struktur des Programmverzeichnises

Abbildung 9: Temporäres Verzeichnis: Ordner- und Dateistruktur

Abbildung 10: Temporäres Verzeichnis: Ordner “work” und “wget”

• Alle Dateien, welche mit “browserspath*” beginnen, enthalten Pfade zu den Brow-sers im eingebundenem Image, wobei jeder Typ als eigene Datei angelegt wurde.

• Die beiden Dateien, welche auf “.sqlite” enden, beinhalten die beiden erstellten Datenbanken. Die gefundenen Daten werden in der “workdb.sqlite” gespeichert.

Die verarbeiteten und getesteten Einträge sind in der “checkdb.sqlite” zu finden.

Durch diese strikte Trennung kann die zweite Datenbank auch als Ausgabe ver-wendet werden.

• In der Datei “configuration” ist die für den Ablauf notwendige Konfiguration ge-speichert.

• Die Dateien “md5db” und “md5err” beinhalten MD5-Summen und Dateien, die als fehlerhaft erkannt wurden.

• In den Dateien “params” und “params-number” werden die am Programmstart übergebenen Werte und deren Anzahl gespeichert.

• Alle Dateien, welche mit “user*” beginnen, beinhalten die gefundenen Benutzer-namen für das jeweils im zweiten Teil des Namens angegebene System.

• Die Datei “_tmp” dient als temporärer Speicherplatz für die Rückgabevariablen von “dialog”. Strukturbedingt konnte diese Datei nicht in den Unterordner “temp”

gelegt werden.

Die Ordner im temporären Verzeichnis beinhalten folgende Daten:

err:

Dieser beinhaltet alle Dateien, bei denen während der Bearbeitung MD5-Fehler aufgetreten sind. Dazu wird zuerst ein Unterordner angelegt, in welchem der Zeit-punkt der Erkennung eingetragen wird.

mount:

In diesem Ordner wird für jede einzuhängende Partition ein Ordner mit einer laufenden Nummer angelegt. Anschließend wird diese dort eingebunden.

output:

In diesem Ordner werden die generierten XML-Dateien gespeichert, bevor sie in

den Ordner des Programmaufrufs kopiert werden. Im Backup des Arbeitsordners sind diese also ebenfalls vorhanden.

recover:

In diesem werden alle durch “photorec” wiederhergestellten Dateien gespeichert.

Der Unterordner “recup_dir.1” wird dabei vom externen Programm erstellt.

temp:

Dieser beinhaltet alle für die Bearbeitung notwendigen temporären Dateien. Wel-ches Skript welche Datei nutzt, wird im jeweiligen Unterpunkt von Kapitel6.7 auf Seite 60 erwähnt.

wget:

Dieser Ordner beinhaltet einen Unterordner für jeden unterstützten Browser. Jede gefundene URL wird mittels “wget” abgerufen und die jeweilige Datei in einen Ordner mit laufender Nummer, welche auch in der “checkdb.sqlite” zu finden ist, gespeichert.

work:

In dieses Verzeichnis werden die der Datenquelle entnommenen Dateien für den je-weiligen Browser kopiert. Nicht zuordenbare Browser-Verzeichnisse werden in einen eigenen Ordner kopiert, dessen Dateiname sich aus “undefined” mit angehängter laufender Nummer und Browsertyp zusammensetzt (z.B.: undefind0-ie).

Um zu genaueren Informationen über den jeweiligen Datei-Inhalt zu gelangen, gibt es folgende Möglichkeit:

Auf der mitgelieferten CD befinden sich mehrere Sicherungen der Testdurchläufe. Die-se können einfach mittels ZIP entpackt und die darin enthaltenen Dateien betrachtet werden.

6.4 Sprachen

Das erstellte Programm liefert die Möglichkeit, auf einfache Weise die Sprache zu wech-seln. Dazu muss nur im Programmverzeichnis im Unterordner “etc” die Datei “config.txt”

bearbeitet werden. In der Zeile “LANGFILE=” wird einfach die gewünschte Sprache als Kürzel eingetragen. Die dieser Arbeit beigelegte Version unterstützt Deutsch (“de”) und

Englisch (“en”), sowohl für das eigentliche Programm als auch für die Hilfe.

Soll eine weitere Sprache hinzugefügt werden, besteht die beste Lösung darin, einfach eine bestehende Datei zu öffnen und unter einem neuen Sprachkürzel zu speichern. An-schließend kann diese einfach übersetzt werden. Dasselbe gilt auch für die Hilfedateien, die mit demselben Kürzel wie die Sprachdatei beginnen müssen und “-help” angehängt wird. Fehlt eine Sprachdatei, wird die Programmausführung nicht gestartet. Würde die Datei während der Ausführung gelöscht, so wird der eigentliche Programmablauf trotz auftretender Fehler in der Ausgabe nicht beeinflusst.

Das Ausgeben eines Textes unter Berücksichtigung der Sprache geschieht folgenderma-ßen:

1 echo " ### ‘cat $progpath / lang / $langfile | grep "save−xml_START=" | ← -cut -d "=" -f2 ‘"

Zunächst liest dabei der Befehl “cat” die im Programmverzeichnis vorhandene Sprach-datei aus und reicht deren Inhalt an den Befehl “grep” weiter. Dieser sucht die Zeile mit dem jeweiligen sprachunabhängigen Signalwort (hier: “save-xml”) und übergibt diese an den Befehl “cut”, welcher den vorderen Teil aus dem String entfernt. Der auf diese Weise ausgelesene Sprachteil wird durch drei vorangestellte Rautezeichen erweitert und abschließend mittels “echo” auf der Konsole ausgegeben.

Die für das aufgeführte Beispiel zugehörigen Zeilen, für die deutsche und englische Spra-che, wären folgende:

Deutsch (Datei: “<Programmverzeichnis>/lang/de”):

save−xml_START=Exportiere Datenbank in XML Struktur . . . Englisch (Datei: “<Programmverzeichnis>/lang/en”):

save−xml_START=Exporting database in XML s t r u c t u r e . . .

Wie aus dieser Auflistung auch gut ersichtlich ist, kann jede Zeile auf einfache Weise in eine neue Sprache übersetzt werden. Wenn in einer neuen Sprachdatei ein Eintrag

wie der angeführte fehlt, wird dies als leerer String vom Unterbefehl zurückgegeben und

“echo” gibt dadurch nur die drei Rautezeichen aus. Die eigentliche Programmfunktion wird dadurch auch nicht beeinflusst oder gar unterbrochen.

Im Dokument Gerald Prock, Bakk. (Seite 55-62)