SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

** TODO: exclude ( nur Textversion ) ( 02.02.00 ) ** .serie-index File ! ( 28.02.00 )

README für das Programm PicScan 02.12.99

Autor: Heiko Stövesandt
EMail: hesti@computhek.net
SMail: Heiko Stövesandt

       Siedenburgskamp 4
       28219 Bremen

*** ENGLISH ***

My English is to bad to describe anything in english. When i write something done in english nobody can understand what i mean. so i write this docs in german and a part of people will that understand.

*** GERMAN ***

Diese Software hatte 2 Hintegdanken. Als Sammler von Bilderserien wird man oftmals mit Serien ohne jede CRC-Datei oder ähnliche mechanische Kontrolle über eine Serie gelassen. Da ist die Kontrolle welche Bilder noch in einer Serie fehlen mitunter Detektivarbeit. Zumal die Serie ohnehin eine fortlaufende Nummer in irgendeiner Form hat. Dazu kommen noch Serien, die neu zusammengestellt oder schlimmer noch umbenannt wurden :(((

Da gibt es noch Serien die mit CRC-Prüfdateien ausgestattet sind, aber mangels einen CRC-Programmes auf Linux ziemlich schlecht ausgewertet werden.

Hier war jetzt meine Motivation um PicScan zu schreiben.

Wie arbeitet Picscan

Im wesentlichen wird von PicScan durch 4 Bereiche wahrgenommen.

  1. Einlesen der vorhandenen Dateien ( auch rekursiv ) 1.1 Verarbeiten der Dateien in Indexe
  2. Dupes erkennen
  3. CRC-Prüflinge ertstellen / kontrollieren

Parameter von PicScan

Global zum einlesen: -h        Hilfe anzeigen
                     -l file   LogFilenamen angeben ( Default ist
                               '/var/log/IndexScanner.log', typisch
                               ist auch -l`tty`, womit das Logfile
                               auf den aktuellen Biuldschirm kommt.
                     -r        Rekursiv durchsuchen

                     -c        Create .scanindex.control
                               ( hierzu glich mehr )
                               
                     -z        Auf Dupes überprüfen
Für CRC-Geschichten: -o File   Es wird ein CRC-File erzeugt
                     -i File   Es wird das CRC-File eingelesen und
                               und verarbeitet. Diese Parameter ist
                               zwingend für die folgenden Parameter
                               notwendig.

                     -m        Datei missing.txt erzeugen
                               ( Fehlende Dateien )
                     -b        bad.txt erzeugen ( Dateien, deren
                               Angaben im nicht mit denen im
                               CRC-File übereinstimmen.
                     -w        want.txt erzeugen. Im Prinzip also die
                               Dateien, die man besorgen sollte.
                     -e        extra.txt:Die  Dateien, die im
                               Verzeichnis-Baum vorhanden sind, aber
                               nicht im CRC gelistet sind.

und natürlich das Verzeichnis das durchsucht werden soll. Default ist das aktuelle Verzeichnis.

Die Dupes

Wer ´wissen´ will welche Dateien dopplet vorhanden sind, der muß mit dem '-z' arbeiten. Es werden sämtliche Dateien ins Logfile geschrieben, deren JPG-Dimension und CRC32-Prüfsumme stimmt ( Ausnahmen im nächsten Abschnitt ). Die JPG-Erkennung ist ist zwar relativ mager, aber bei mir wird bisher jedes JPG richtig erkannt. Wer eine Datei hat, wo es nicht geht, der möge Sie mir als EMail zukommen lassen. Ist die Datei kein JPG so wir die Dimension 0 x 0 zuhilfe genommen. Eine CRC32 wird aber zwingend erstellt.

Es werden KEINE Hidden-Files und Dirs durchsucht. Diese beginnen per Definition immer mit einem Punkt im Dateinamen. So wird z.B. .xvpics o.ä. weggelassen.

Datail-Beschreibung A ( Serien ohne CRC-Dateien )

Hier kommt ein Werzeug zum tragen, daß bisher noch nicht exestierte. In dem Verzeichnis in dem auch die Serie ist wird eine Kontroll-Datei erwaretet, bzw. mit dem Switch '-c' erstellt, wenn Sie nicht vorhanden sein sollte.

Die Datei heißt .scanindex.control.

Beim Erstellen werden stumpf alle Dateien eingetragen, die picscan gefunden hat. So kann ein typisches File etwa aussehen:

XFile = Blume01.jpg
XFile = Blume02.jpg
XFile = Blume03.jpg
XFile = Blume04.jpg
XFile = Blume05.jpg
XFile = Blume07.jpg
XFile = BlumeIdx.jpg

Hie kommt jetzt das Kommando Scan ins Spiel. Wir verkürzen den Eintrag auf:

Scan = Blume[2 1 7].jpg

Den Index lassen wir mit File definiert. So daß wir folgend einfach In der Datei haben:

Scan = Blume[2 1 7].jpg
File = BlumeIdx.jpg

Wird picscan jetzt wieder gestartet so erhalten wir ein neues Control-File:

Scan = Blume[2 1 7].jpg
File = BlumeIdx.jpg

MISSING = Blume06.jpg

Sehr schön... und wie funktioniert das nun.

Scan erwartet einen Schleifen-Kontstruktion ( keine Panik ). Diese beschränkt sich auf die Parameter in den Klammern. Der erste Parameter gibt die Anzahl der Zeichen an, die der Wert haben soll ( 2 also zweistellig ). Folgend von Start und Ende der durchsucht wird. Also [4 234 239] wird folgendes erzeugen:

0234
0235
0236
0237
0238
0239

Ist doch simpel oder ???

Dann gibt es da noch ein kleine Feature. Wir die Stellenwertigkeit mit 0 angegeben, dann wir einfach nur die forlaufende Nummer genommen.

Scan = Auto[0 8 11].jpg

Wird nach

Auto8.jpg
Auto9.jpg
Auto10.jpg
Auto11.jpg

erweitert.

Einzelne Files wie der Index kann man einfach mit 'FILE =' angeben. Das Kommando XFILE tut dies im Prinzip auch, aber man wird nie den Complete-Status bekommen. Damit kann man sofort sehen, ob die Serie wirklich komplett ist.

Manchmal ist aber ebenso effektiv auch hier das Scan-Kommando zu benutzen:

SCAN = Auto[0 1 3]_IDX.jpg

Wie ebenschon bemerkt gibt einen Complete-Status. Dieser wird gesetzt, wenn alle im Kontroll-File beschriebenen Files vorhanden sind. Er wird wieder gelöscht, wenn auf sonderbare Art und Weise ein File den verdampft. Oder ein neues File im Kontroll-File eingetragen wird.

Der Complete-Status wird durch das File '.complete' signalisiert. Hat man beim Kontroll-File keinen Mist verzapft kann man sich darauf verlassen.

Jetzt kann man diesen Complete-Status aber auch komplett verwefen. Dazu reicht ein Eintrag von 'NOTFULL'. Man weiß also daß noch was fehlt, hat aber derzeit keine weiteren Informationen, was noch fehlt. Complete wird auch nicht gesetzt, wenn 'XFile' statt File verwendet wurde.

MISSING wird von picscan verwaltet ! d.h macht es absolut keinen Sinn diese Kommando selbst zu verwenden.

Dann gibt es noch das Kommando 'IGNORE', daß lediglich dazu führt, daß das aktuelle Controll-File nicht weiter beachtet wird und auch nicht bearbeitet. Das ist sinnvoll, wenn man Verzeichnisse rekursiv durchsucht und dort gar nicht möchte, das picscan dort nun irgendwas anstellen soll.

Und noch ein Kommando ist 'DUPE = DATEI'. Damit wird diese Datei als bekannter Dupe benannt. Sie fällt also aus der Dupe-Erkennung raus. Es macht keinen Sinn 'DUPE' zu verwenden wenn das File nur einmal vorkommt.

Datail-Beschreibung B ( Serien mit CRC-Dateien )

Vorweg muß ich sagen, das es wenig Sinn macht Serien mit CRC-File mit dem obigen Verfahren zu kombinieren, weswegen ich auch nicht gewillt bin diese beiden Abschnitte irgendwie zu verknüpfen.

Wer nicht weiß was ein CRC-File ist oder auch nichts damit anfangen kann, der sollte jetzt nicht verzagen. Vieleicht lernt er jetzt ja den Wert solcher Kontrollmechanismen zu schätzen.

Im Prinzip brach man ja nur einemal einen Bilck in ein CRC-File zu werfen und weiß das dort die Files zu einer Serie aufgelistet und einige andere Informationen enthalten sind.

Die obige Parameterbeschreibung spricht glaub ich für sich.

Der einzige ( gravierende [incompatible?] ) Unterschied besteht im Casesensitive FileSystem von Linux und die Verarbeitung (beliebig) langer Dateinamen. Das betrifft vor allem die Erstellung von CRC-Dateien.

Beim Einlesen gibt es diese "Beschränkung" nicht bzw. kann durch '-i' kompensiert werden.

Heiko Stövesandt

PS: Anregungen und Danksagungen unter hesti@computhek.net


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.