Seite 1 von 1

Neuer File Browser, Icons nach Dateiinhalt oder Endeung

Verfasst: Sonntag 19. April 2009, 17:47
von Andyh
Hallo

Wie schon in einem andern thread erwähnt schreibe ich gerade einen File Browser.

Jetzt wo schon vieles geht stellt sich eine performance Frage:
soll ich die Icons der Dateien anhand der Dateiendung oder des Dateiinhaltes zuordnen?

klar ist die erkennung am inhalt einer Datei die bessere Lösung, diese braucht aber Zeit ungafähr 10x so viel.

für was würdet ihr euch entscheiden?

Gruß
Andyh

Verfasst: Sonntag 19. April 2009, 17:52
von derdon
anahnd des mimetypes

Verfasst: Sonntag 19. April 2009, 18:13
von Andyh
Hallo

Ist zwar nicht die antwort auf meine Frage, aber trotzdem danke für die antwort!

Das modul ist der letzte müll wie ich gestern festellen musste es gibt anhand der Dateiendung den mimetype aus, alos nicht von inhalt durchlesen und so.
am einfachsten geht das mit den Programm "file".

Nur soll ich das überhaut machen, oder reicht es wenn ich nur die Dateiendung nehme?

Gruß
Andyh

Verfasst: Sonntag 19. April 2009, 18:52
von Barabbas
Ich habe gerade mal probeweise unter Gnome eine Datei angelegt und mit verschiedenen Endungen versehen. Zumindest da ist es so, dass das Icon an Hand der Endung bestimmt wird. Und wenn ich mich recht erinnere, macht es Windows ebenso.
Da die andere Methode enorme Geschwindigkeitseinbußen mit sich bringt, würde ich Icons immer an Hand der Endung bestimmen. Wenn eine Endung nicht bekannt oder vorhanden ist, würde ich text vs binär unterscheiden und entsprechende Icons einbinden.

Als ich damals unter Windows VisualBasic programmiert habe, gab es aber auch eine API, mit der ich mir zu einer bestimmten Datei die damit assoziierte Anwendung zeigen lassen konnte. Das habe ich damals für meine Zwecke genutzt. Das wäre für dich sicher auch sinnvoll - immerhin geht es ja eigentlich nicht darum, das Rad neu zu erfinden, sondern das Verhalten deines Programmes so abzustimmen, dass es in die jeweilige Desktopumgebung passt.

Daniel

Verfasst: Sonntag 19. April 2009, 19:12
von lunar
Barabbas hat geschrieben:Ich habe gerade mal probeweise unter Gnome eine Datei angelegt und mit verschiedenen Endungen versehen. Zumindest da ist es so, dass das Icon an Hand der Endung bestimmt wird.
Es gibt auch Dateitypen, die Gnome anhand ihrer Endung identifiziert. Ein Beispiel dafür sind Desktop-Entry-Dateien. KDE erkennt diverse Typen auch ohne Endung (z.B. Bilddateien und PDF-Dokumente), ich wette das Gnome das auch tut. Nur funktioniert das eben nicht für eine Textdatei mit generischem Inhalt ohne klare Merkmale.

Im Übrigen ist die Erkennung anhand des Dateiinhalts keineswegs langsam, wenn sie korrekt implementiert ist. Die meisten Dateitypen erkennt man anhand charakteristischer Header, die sich in den ersten paar Bytes der Datei befinden. Dafür wird unter Unix-Derivaten meist die libmagic verwendet, die sich mittels ctypes auch für Python verwenden lässt.

Verfasst: Sonntag 19. April 2009, 20:22
von Barabbas
lunar hat geschrieben:
Barabbas hat geschrieben: Im Übrigen ist die Erkennung anhand des Dateiinhalts keineswegs langsam, wenn sie korrekt implementiert ist. Die meisten Dateitypen erkennt man anhand charakteristischer Header, die sich in den ersten paar Bytes der Datei befinden. Dafür wird unter Unix-Derivaten meist die libmagic verwendet, die sich mittels ctypes auch für Python verwenden lässt.
Ja klar. ich finde es sinnvoll, Dateitypen nach Möglichkeit nach der Endung zu bestimmen und bei Dateien, die nicht zuzuordnen sind und/oder keine Endung haben, den Inhalt zu Rate zu ziehen. Natürlich muss man nicht die ganze Datei einlesen, darum geht es auch gar nicht: Aber wenn man Dateizugriffe vermeiden kann, sollte man es m.E. auch tun - unter Linux etwa würde man doch sonst andauernd atime neu setzen (oder irre ich mich da?).

lG

Daniel

Verfasst: Sonntag 19. April 2009, 23:54
von Leonidas
Barabbas hat geschrieben:unter Linux etwa würde man doch sonst andauernd atime neu setzen (oder irre ich mich da?).
Mit Mount-Optionen wie relatime oder noatime hält sich das in Grenzen.

Verfasst: Montag 20. April 2009, 15:44
von Andyh
Hallo

Ich habe das Geschwindigkeitsproblem gelöst.
Es wird jetzt erst nach den Dateiendungen geschaut, da wird nur zwischen Bild und Text unterschieden, das dauert in meinem Testordner 0,3sek(bei 800 Dateien), dann werden die dateien genauer angeschaut, das dauert dann so 20sek(bei 800 Dateien) zeitgleich werden die Vorschaubilder für die Bilder erstellt, das dauer dann 60sek(bei 788 Bilder).

Müsste ja akzeptabel sein?

Jetzt noch was für die Augen:

>>>>>>>>>>>BILD<<<<<<<<<<<<

Bild

>>>>>>>>>>>BILD<<<<<<<<<<<<

Gruß
Andyh

Verfasst: Dienstag 21. April 2009, 13:24
von jerch
Fein, fein. Darf man fragen, wonach Dir der Sinn im Neuerfinden des Dateibrowserrades mit einer Skriptsprache steht?

Du hast übrigens eine Flaschenverlinkung auf Deiner Homepage :shock:

Verfasst: Mittwoch 22. April 2009, 17:28
von Andyh
Hallo

ganz einfach:
1. Wenn mir was nicht passt mach ich es selber!
2. Will ich mal ganz neue und unkonventionelle Wege begehen
3. So viele gute gibt es ja auch nicht Nautilus finde ich da noch mit abstand den besten.
Es soll jetzt aber nicht eine Diskussion über File Browser entstehen!

Gruß
Andyh