Old Python library for accessing FluidDB: now replaced by fish
Fetching latest commit…
Cannot retrieve the latest commit at this time
** IMPORTANT: FDB IS NO LONGER SUPPORTED. PLEASE SWITCH TO FISH, ITS SUCCESSOR, AT YOUR EARLIEST CONVENIENCE. ** ** IMPORTANT CHANGE IN VERSION 2.00: SEE TAG CONVENTIONS ** FDB PYTHON LIBRARY ================== fdb is a primarily a command line tool for providing access to the Fluidinfo data store (from Fluidinfo (http://fluidinfo.com/.) There is lots of coverage of the library (and its evolution) at http://blog.abouttag.com/. FDB COMMAND LINE ACCESS ======================= fdb can also be used for command-line access to FluidDB. See 'USING THE COMMAND LINE', below. DEPENDENCIES ============ If you're running python 2.6, fdb should just run. With earlier version of python, you need to get access to simplejson and httplib2. You can get simplejson from http://pypi.python.org/pypi/simplejson/ and httplib2 from http://code.google.com/p/httplib2/. CREDENTIALS =========== For many operations, you also need an account on FluidDB, and credentials (a username and password). You can get these from http://fluidinfo.com/accounts/new The library allows you to give it your credentials in various different ways, but life is simplest if you stick them in a 2-line file (preferably with restricted read access) in the format username password On Unix-like operating systems (including Mac OS X), the default location for this is ~/.fluidDBcredentials. On windows, the lcoation of the credentials file is specified by the environment variable FDB_CREDENTIALS_FILE; if that is not set, the fdb looks for c:\fdb\credentials.txt. You can also optionally add a line, after password, saying either unix-style-paths true or unix-style-paths false TAG CONVENTIONS =============== As from version 2.00, fdb uses absolute Fluidinfo-style paths all the time (i.e. you always specify the namespace and don't use a leading slash). You can explicitly mandate this also by adding the line unix-style-paths false in your credentials file (see above). If you instead set unix-style-paths true on the third line of the credentials file, fdb uses unix-style paths, meaning that paths are assumed to be relative to the user's namespace unless they are introduced with a leading slash. Also, the about tag (fluiddb/about) may be referred to as /about. This affects input and output. If you want to overrride this behaviour for a given command, you can use the -U flag to specify that the command will use unix-style paths, or -F to indicate that it will use fluidinfo-style paths. TESTS ===== The library includes a set of tests. If you have valid credentials, and everything is OK, these should run successfully if you just execute the file fdb.py. For example, at the time of writing this README file (version 2.03 of the fdb), I get this: $ fdb test ...................... ---------------------------------------------------------------------- Ran 22 tests in 46.311s OK USING THE LIBRARY ================= Four ways of exploring the library are: 1. look at the tests (the ones in the class TestFluidDB) 2. look at the blog (http://abouttag.blogspot.com) 3. read the function documentation, which is...existent. 4. look at and run example.py, which should print DADGAD and 10. USING THE COMMAND LINE ====================== Commands can be run by giving arguments to fdb. For a list of commands, use fdb help An example command is python fdb show -a DADGAD rating /fluiddb/about Obviously, if you want to use fdb as a command from the shell, it will probably be convenient to use an alias or create a trivial shell script to run it. I use bash, with the alias alias fdb='~/python/fluiddb/fdb' which allows me to type fdb show -a DADGAD rating /fluiddb/about You can also put a link to fdb into some directpry (like ~/bin) on your ``PATH``. DELICIOUS ========= Also distributed with fdb itself is code for accessing delicious.com (http://del.icio.us/, as was), and for migrating bookmarks and other data to FluidDB. This also includes functionality for creating web homepages from delicious based on a home tag. See the README-DELICIOUS file for details on this functionality.