Eigentlich ist aber nur der FileBrowser fertig
Der FileBrowser erzeugt per CGI eine Download-Seite. Ein Beispiel:
http://www.jensdiemer.de/Programmieren/
Als Gimmick wird für jede Datei Informationen mittels Linux file Befehl eingeblendet.
Damit man den FileBrowser an verschiedenen Stellen (also verschiedene Basis-Verzeichnisse) seiner Webseite benutzen kann, wird er über eine KonfigurationsDatei (index.py) aufgerufen.
Diese Datei speicher ich als index.py in dem Basisverzeichnis des FileBrowsers. In meinem Beispiel von oben also /Programmieren/index.py
Dabei sollte Apache's DirectoryIndex Directive so konfiguriert sein, das die index.py als Index des Verzeichnisses nimmt.
index.py
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: UTF-8 -*-
print "Content-Type: text/html\n"
import cgitb; cgitb.enable()
import os, sys
sys.path.insert( 0, os.environ["DOCUMENT_ROOT"] + "cgi-bin/PyFileCenter/" )
import FileBrowser
filebrowser_cfg = {
# Nur Endungen anzeigen, die in der Liste vorkommen
"ext_whitelist": (".7z",".zip",".py"),
# Hauptverz.: Navigation nur innerhalb diese Verz. mit Unterverz. erlauben
"base_path": "Programmieren",
# Verz. in der Liste auslassen:
"dir_filter": ( "OLD", ),
# Dateien die nicht angezeigt werden sollen
"file_filter": ( "index.py", ),
# =False -> Nur Dateien im aktuellen Verz. anzeigen
"allow_subdirs": True,
#~ "allow_subdirs": False,
}
FileBrowser.FileBrowser( filebrowser_cfg )
Der Sourcecode kann unter http://www.jensdiemer.de/?PyFileCenter eingesehen und runtergeladen werden...