| dlcs | index /home/berend/project/pydelicious/trunk/tools/dlcs.py |
dlcs - Manage a del.icio.us bookmark collection from the command-line.
Overview
--------
`dlcs` is a simple wrapper around pydelicious.DeliciousAPI. If offers
some facilities to get data from your online bookmark collection and
to perfom operations. See::
% dlcs --help
This tool enables quick access but the server communication may be slow and
when doing multiple expensive requests del.icio.us may throttle you and
return 503's. This all depends on your collection size (posts/tags/bundles)
ofcourse. In any case, the post and tag lists are stored locally and some
changes to your collection may not be noticed until you clear this cache
since posts/update does not notice any edits.
Quickstart
----------
Just start `dlcs` using::
% dlcs -u <username>
Post any URL using::
% dlcs postit <URL>
Configuration
-------------
Your username and password can be stored in an INI formatted configuration
file under the section name 'dlcs'. The default location is ~/.dlcs-rc
but this can be changed using command line options. If no username or
password are provided `dlcs` will guess the username and prompt for the
password.
Limitation
----------
- Bundle sizes are restricted by the maximum URL size [xxx:length?], the
del.icio.us interface allows bigger bundles.
Integration
-----------
When using curses based browsers you may have to miss the javascript
bookmarklets since most TUI browsers don't support these. That is why dlcs
has a command `postit` that takes the URL and fires up your favorite editor
to offer the same functionality.
To bookmark HTTP URLs with lynx, put the following line in your lynx.cfg::
EXTERNAL:http:dlcs postit %s
For the elinks browser, create a uri_passing rule in the configuration file.
Something like the following::
set document.uri_passing.dlcs = "bash -c "dlcs postit %c""
License
-------
Same as `pydelicious`, FreeBSD or Simplified BSD license.
See license.txt for details and the copyright holders.
TODO
----
- adapt to new meta attr's
- catch DeliciousErrors
- Output formatting (--outf)
- Pretty JSON printer
- Append recent posts (and tags) to cache
- Some intelligent statistics on the tag collection (tag size, usage)
- Other users, is it possible to: list all posters for a URL, all tags for a URL? Popular tags?
- There are no commands to work on date lists (but 'req' could)
- Tag relations,
- Tag value, could a simple algorithm weigh the value of a specific tag (combination)?
| Modules | ||||||
| ||||||
| Classes | ||||||||||||||
|
| ||||||||||||||
| Functions | ||
| ||
| Data | ||
| DEBUG = 0 DLCS_CONFIG = '/home/berend/.dlcs-rc' ENCODING = 'UTF-8' NEW_CONFIG = False __cmds__ = ['bundle', 'bundleadd', 'bundleremove', 'bundles', 'clearcache', 'deletebundle', 'deleteposts', 'findposts', 'findtags', 'getbundle', 'getposts', 'gettags', 'help', 'info', 'mates', 'post', 'postit', 'posts', 'postsupdate', 'recent', ...] __options__ = [(('-c', '--config'), {'default': '/home/berend/.dlcs-rc', 'help': 'Use custom config file [%default]'}), (('-C', '--keep-cache'), {'action': 'store_true', 'default': False, 'dest': 'keep_cache', 'help': "Don't update locally cached file(s) if they're out of date."}), (('-e', '--encoding'), {'default': 'UTF-8', 'help': 'Use custom character encoding [locale: %default]'}), (('-u', '--username'), {'help': 'del.icio.us username (defaults to config or loginname)'}), (('-p', '--password'), {'help': 'Password for the del.icio.us user (usage not recommended, but this will override the config)'}), (('-I', '--ignore-case'), {'action': 'store_true', 'default': False, 'dest': 'ignore_case', 'help': 'Ignore case for string searches'}), (('-d', '--dump'), {'default': False, 'help': 'Dump entire response (`req` only)'}), (('-o', '--outf'), {'choices': ['text', 'json', 'prettyjson'], 'default': 'text', 'help': 'Output formatting'}), (('-s', '--shared'), {'default': True, 'help': "When posting a URL, set the 'shared' parameter."}), (('-r', '--replace'), {'default': False, 'help': "When posting a URL, set the 'replace' parameter."}), (('-v', '--verboseness'), {'default': 0, 'help': 'TODO: Increase or set DEBUG (defaults to 0 or the DLCS_DEBUG env. var.)'})] __usage__ = '%prog [options] [command] [args...] \ncommand can...ommand]` to get more information about a command.' debugindent = {} debugmidline = {} | ||