Skip to content

kellen/urchinfs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

urchin-fs

in-progress

A FUSE-based filesystem which reads arbitrary metadata and presents a faceted-search-style view on the containing directories.

Motivation

Media file organization: id3 is insufficient for correctly organized mp3 collections, video/media collections have no such standard.

Most media management programs organize only files, but the logical unit of organization is the directory, not the file. An "album" may contain mp3/flac/ogg files, cover/cd scans, text files, etc. A "movie" may contain multiple video files, samples, subtitles, cover scans, etc.

Usage

urchin-fs supports filtering on multiple facets, where the result is entries which match all given facets. Facets are nested in a ^ directory, where ^ is the symbol for the AND operation.

$ ls -1 example/
^
Easter Parade (1948, color)
Kiss Me Deadly (1955, bw)
The Lady Vanishes (1938, bw)
The Naked City (1948, bw)
$ ls -1 example/^/
color
year
$ ls -1 example/^/year/1948/
^
+
Easter Parade (1948, color)
The Naked City (1948, bw)
$ ls -1 example/^/year/1948/^/color/bw/
^
+
Easter Parade (1948, color)
The Naked City (1948, bw)

Each facet can be specified with multiple values, where the results have one of these values. Values are nested in a + directory, where + is the symbol for the OR operation. (v was not used since it would be sorted as a letter, (vel) was not used since it cannot easily be typed on an average keyboard, and | was not used since it has special meaning on the command line).

$ ls -1 example/
^
Easter Parade (1948, color)
Kiss Me Deadly (1955, bw)
The Lady Vanishes (1938, bw)
The Naked City (1948, bw)
$ ls -1 example/^/year/
1938
1948
1955
$ ls -1 example/^/year/1948/
^
+
Easter Parade (1948, color)
The Naked City (1948, bw)
$ ls -1 example/^/year/1948/+/1955/
^
+
Easter Parade (1948, color)
Kiss Me Deadly (1955, bw)
The Naked City (1948, bw)

Originally, urchin-fs prefixed its facets with + and used +OR for providing additional values, but UTF-8 collation rules ignore punctuation in the first sorting stage, which resulted in the facets being mixed in with the directory listings.

Installation

sudo apt-get install fuse libfuse-dev python-fuse python-mutagen
pip install inotify
python setup.py sdist

About

faceted search FUSE filesystem

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages