camtagger

command module
v0.0.0-...-204a83d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 30, 2014 License: BSD-2-Clause Imports: 14 Imported by: 0

README

camtagger

Simple command-line mass-tagger for Camlistore.

Building camtagger requires Camlistore packages, i.e. you should have proper dev setup already in place. This should be go-gettable.

For options and output format please read camtagger -h.

Scenario

You have your Camlistore mounted locally via FUSE. In your /roots you have one that you use for incremental backups (or just storage). When you first add files to that root it would be nice to tag them in bulk. This is where camtagger will help you.

For best experience you should use camtagger in conjunction with some decent file manager (like some DOpus clone, e.g. Worker), so that you can easily select a bunch of files and have a nice little pop-up window when you specify tags.

Examples

$ cd /mnt/camli/roots/Backup
$ mkdir TaxDocs
$ cp ~/tax*.pdf TaxDocs/
$ camtagger add archive,important,doc -- TaxDocs/*
/mnt/camli/root/Backup/TaxDocs/tax-2013.pdf sha1-xxx... +archive +important +doc
/mnt/camli/root/Backup/TaxDocs/tax-2014.pdf sha1-xxx... +archive +important +doc
...

Time has moved on, we no longer pay taxes...

$ camtagger del important -- /mnt/camli/root/Backup/TaxDocs/*
/mnt/camli/root/Backup/TaxDocs/tax-2013.pdf sha1-xxx... -important
/mnt/camli/root/Backup/TaxDocs/tax-2014.pdf sha1-xxx... -important
...

Bugs

You may have noticed that the -workers parameter is set to 1 by default, this is because on my setup setting it to anything higher results in some weird deadlock on both ends (also, the web ui stops showing permanodes). If you're okay with such issue please feel free to try it with more workers. As of today I have no idea if the problem is in my code or the Camlistore code. For reference my Camlistore build is 2014-06-27-8a9ff86 with go1.3 on amd64 (both server and client).

Ruby version

Worry not, the Ruby version is here just for reference. It has equivalent functionality, albeit a little less pretty output, and is not concurrent and shells-out to the standard cam* tools provided with Camlistore. I have written it first as a proof-of-concept before writing the Go version, and I leave it here as it might be useful in cases where you either don't want to build the Go version, or something in Camlistore changes and breaks my Go implementation. It can also serve as a benchmark reference (haha).

Copyright (c) 2014 Piotr S. Staszewski

Absolutely no warranty. See LICENSE.txt for details.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL