Tag organizer that uses names of files and folders to create symlinks. Tags are defined by using #hashtags in the name. They can also be as many sub levels as you want, like #sub-hash-tag
| Status: | Beta stage.. Report bugs :) |
|---|---|
| Documentation: | This page |
| Author: | Lars Solberg |
| Blog post: | http://blog.boa.nu/2012/11/tagging-files-and-folders-using-hashtags-and-symlinks.html |
This project is in beta stage, please report bugs :)
- Project hosting GitHub.
- Bug reports are handled on the issue tracker.
Any questions, thoughts, bugs are very welcome!
- Python 2.6 or newer (not 3.x)
The only file you will need is the one called taggo. It creates a file called taggo.cfg if it doesnt exists in the same directory.
Taggo creates symlinks based on hashtags it finds in the file or foldername.
Here are some examples
| Fil/folder names | Creates |
|---|---|
| A random name.jpg | |
| dcim1234 #People-Lars #food.jpg | 1 link in a folder People/Lars/... and one in food/ |
| 2012-09-25 Oslo tour #Earth-Europe-Norway-Oslo/dcim123... | Link to the folder under Earth/Europe/Norway/Oslo/2012-09-25.... |
| dcim123,#tag1.jpg | Link to the file under tag1/ |
| dcim321#tag2.jpg | Nothing, a tag needs a space, . or , in front and back of the tag. |
| Command | Description |
|---|---|
| ./taggo help | Display help |
| ./taggo run_once | Delete dead symlinks in the tag folder, then goes trough and the ones we are missing. |
| ./taggo cleanup | Deletes dead symlinks in the tag folder. |
| ./taggo make_tags | Creates new tags |
| ./taggo rename FROM TO | Renames tags in the filenames themself. Useful if you have files with tag typos or if you want to do a cleanup. Support both folders and files. Note that this does not change the symlinks, only sourcefiles. You should run run_once after renaming. |
| Option | Description |
|---|---|
| [general] debug | Turn on (1) or off (1) extra debug when taggo is running |
| [general] tag_indicator | Which tag should a tag begin with (default #) |
| [general] subtag_separator | Character that separates subtags (default -) |
| [general] rel_folders_replacer | What to replace the / with when using the path in the name as %(rel_folders)s |
| [general] tag_filenames | Filename to give tags (symlinks). %(rel_folders)s is replaced with related folders upto this folder. %(basename)s is replaced with the filename itself. |
| [general] strip_dot_files | Take away folders/files if they starts with a . (default true) |
| [paths] content_folder | Folder to look for files we can symlink to. Set it to example "./pictures" if there is a folder called pictures relative to taggo. Or use full path. |
| [paths] tag_folder | Same as content_folder, except this is the folder where we are going to place the symlinks. |
- Why the name taggo?
- I just wanted a name for this for now.. Got any better names, please share
- Why do you want to create tags with symlinks?
- Because everyone have underestimated the power of tagging data.
- Photo filenames are just wasted, what does DCIM1234.jpg tell you?
- You know you miss one folder that contains all your dog pictures.
- You sould not depend on a 3rd party program/database to manage your files/photos.