/StagFS

Proof of concept non hierarchical FUSE file system deriving structure from independent tag files.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

StagFS : (C) 2009 Chris Targett : chris@xlevus.net 

StagFS - Standalone tag File System

StagFS is a FUSE file system designed to store and represent supplementary data 
against files and folders.

Data is stored in JSON .stag files contained within the files directory.

Notes:
 * Filenames are relative to the .stag file.
 * Nested tag-sets are not yet supported.
 * You cannot have multiple data types in one .stag file

JSON layout:
    {
        "data_type": "data-type",
        "files": {
            "filename1": {
                "tag-set1": "single-tag",
                "tag-set2": ["multiple-tag1", "multiple-tag2", ...],
                "tag-set3": ["other-multiple-tag"]
            },
            "filename2": {
                "tag-set1": ["multiple-tag2"],
                "tag-set3": ["other-multiple-tag"]
            },
            ...
        }
    }

Resulting file tree:
    data-type/
        tag-set1/
            single-tag/
                filename1
        tag-set2/
            multiple-tag1/
                filename1
            multiple-tag2/
                filename1
                filename2
        tag-set3/
            other-multiple-tag/
                filename1
                filename2