repository overview

about

information about this package can be found in the README. here is a html-version of the README:

status

unknown.  have not attempted to use this in some time.  it did work
at some point though.  consider it experimental and needing some
work at least.

intro

attrfs

reads an attrdb(6) database into memory and provides a file system
interface to finding matches.  the key/value pairs are kept in
memory.  attrfs makes an index of the indexkeys specified on the
command line, for fast lookups.
opening file "clone" makes a new selection.  a directory name
(number) can be read from it, and one can walk to the directory.
in that directory there are files with the names of each attribute,
reading them results in all (unique and sorted) values present in
the database.  file "all" is speciall, it returns all attributes
for the database entries, one attribute per line, so multiple lines
per entry.  writing attribute names (one per line) sets the attributes
to return instead of all of them.  writing "attribute value" to
file "pick" or the "clone" file that started the selection narrows
down the search result.

mkaudiodb

make an attrdb(6) file that can be read by attrfs, the file created
is the meta-info database and can grow quite large

mp3tag

used by mkaudiodb to get meta-info out of an mp3 file

wm/pick

tk front-end to attrfs that allows selecting attribute (meta-info)
values to narrow down matching database entries.  the matching
entries can be read from a file, by a script, executed when pressing
a button.  do not use wm/pick directly, instead use e.g. appl/wm/audiopick
(which calls wm/pick with the options to make it look like an
audio-selecting tool and to add matches to the playlist)
also see guide.txt for an example on how to start these tools

install

first, ensure a "mkconfig" file is present.  a bind/symlink to the
mkconfig of your inferno install should do.  now "mk" and "mk
install" to compile and install the files.

download

see http://www.ueber.net/code/r/attrfs for instructions.

licence & author

this code is in the public domain, written by mechiel lukkien,
reachable at mechiel@ueber.net or mechiel@xs4all.nl.

todo

* determine whether it is possible to do word-lookup, split
  the values into words and store them as such as well,
  indexed.

testing

clone

to clone & pull:

hg clone http://www.ueber.net/hgsrv/attrfs/
or
hg clone static-http://www.ueber.net/who/mjl/hg/attrfs/

tgz

download a snapshot of the latest version: attrfs-4.tgz.

contents

the files in the latest revision can be found at /hg/attrfs/files/tip/. a specific revision can be access by replacing "tip" with the revision number, (partial) nodeid or tag name. a few direct links to useful files in the latest revision:

limbo module files:

limbo source files:

changes

rev nodeid when diff why
4 10c43cfa4701 17 months diff make text conform to textmangle "syntax", clarify a bit while here.
3 34fe8fa2c775 19 months diff fix mkfiles, module/ can now be nuked. prepare for later man pages
2 0b0eda7deebb 2 years diff some info on how to use this all. add audiopick as example of how...
1 ccb3f28a288d 2 years diff welcome mp3tag to read mp3tags, now with genre info. also some fi...
0 2ffeeb76be30 2 years - welcome attrfs