Virtual filesystem in python ( Fuse or WebDav ? )

Thomas W thomas.weholt at
Tue Oct 9 14:22:29 CEST 2007

I want to create a virtual filesystem based on a relational database.
It might run as a server on a different machine, but  it has to be
available like a normal filesystem, either shared using SAMBA or
windows filesharing or thru something else like WebDav.

The idea is that I scan a local filesystem and then create relations
between those files stored in a relational database, eg. a create a
group called family, add a bunch of files related to my family in that
virtual group/folder. When the user accesses the virtual filesystem
and types ls or dir the result is a list of groups, in my case ., ..
and family. The user types "cd family" and dir/ls in that virtual
folder will show all files in that group. How can this be done? I've
looked at dav, especially mod_dav and fuse. I want to be able to
access the files ( and even add files, like if I copy a file into the
family-folder, a relation in the relational database will be created,
but the newly added file itself might be stored some other place on
the filesystem, based on extension or perhaps EXIF-info if it's an
image being added ) using standard filesystem tools, like explorer on
win32 or the shell on linux.

I don't think I can use WebDav directly, because I want to control
what happens if somebody copies a file into a virtual folder, but I
don't know much about webdav so I might be wrong.

Any hint or clue would be appreciated.

More information about the Python-list mailing list