Parameter taglinkdir denotes a directory in which the tag structure of
all your photos stored in
rootdir will be exported to by creating subdirectories for each tag and placing
symbolic links in these subdirectories that point to the original photo wearing
the tags. If calling the script with option -l taglinkDir you also have
to specify options -r rootdir as well as -d database.
archivedirectory denotes a directory into which the script will export the photos and their tag
structure. -A has to be used together with option -r rootdir if
using digikam version < 0.10, as well as
-d database else the script will terminate. Inside the archive directory
the script will create a Photos and a Tags directory. It will put hard links in
the Photos directory that point to your original photos. By using hard links
you are independent of changes in your digikam root directory but on the other
hand you are limited to one filesystem. So the directory given by
-r rootdir and the directory specified for -A archivedir have to be one
the same filesystem. If using digikam in version >= 0.10 you cannot specify
-r rootdir . Instead the root paths of all albums are taken from digikams database directly. However still the requirement holds, that archivedir has to be on the same filesystem like all the root directories containing photos you defined in digikam.
If one of digikams root directories is on another filesystem this one will not be processed, since hardlinking the photos inside the Photos directory would not
work in this case!
The Tags subdirectory will contain links to the files in
the Photos directory. This way you have one archive directory that is completely
self contained. You can tar it, send it to a friend or just put it somewhere
for archivel or backup purposes. Usually only those photos will be archived that
have a digikam tag set on them. By using option -C however you can perform a
complete archive. See -C for more infos.
database is the complete path including the filename to digikams photo database which
usually can be found in digikams root directory. The files name is usually
rootdir denotes the digikam base directory containing all your photos if you are using
digikam in a version before 0.10. If you are using digikam 0.10 or newer you must not
use this option. If you do it anyway you will see a hint that the option given will be ignored because
digikams version 0.10 database contains the root directories of all albums defined in digikam.
When the script is called with option -A archivedir only those photos
will be archived (by placing links) in the Photos subdirectory of
archivedir that have at least one digikam tag set. By setting option -C all
photos will be archived to archivedir no matter if they have a tag set
or not. Note: This only changes the contents of the Photos subdirectory not of
the Tags subdirectory in the archivedir directory.
By default the script will try to create relative symbolic links from the
directory taglinkdir set by option -l to the photo files under
rootdir given by option -r. Using this option will result in absolute symbolic
links beeing created instead of relative ones.
By default the script will create soft (symbolic) links from the Tag-Tree to the
photos. By setting option -H the script will use hard links instead. Please note
that hard links can only be created inside one filesystem. So your photos and the Tag tree
have to be one the same filesystem. If not you will see a warning about this problem and the script
will not run.
In digikam photos can have hierachical tags (tags that have subtags). In this case
digitaglinktree would by default add a directory for the tag and a subdirectory for
each of the subtags of this tag. By setting -f a subtag is treated like a
regular tag just as its parent tag so digitaglinktree will create all subdirectories
for tags and subtags at the same level independent of the tag - subtag hierarchy.
Create year directory under each tag directory. Year information is taken from "Date taken" in database.
tag1,..,tagn Include only images with tags in the list. Use comma
as tag separator. Default is "none". Use "all" to include all tags at
once if you really want this. Better try a list with only some tags first to
see how long it takes to complete.
tag1,..,tagn Exclude images with tags in the list. Use comma as tag separator. Default is "none".
level_number specify the number of directory level. -M specifies that instead of following normal tag hierarchy,
it creates a hierarchy combining different tags together and not only
within one tag hierarchy (for example combining Places and People tags).
You have to add tags to be included by using the option -i (see above).
Depending on the level given and the number of tags you have included and how
many photos you manage using digikam, this option may take a considerable amount of time
(possibly more than one hour) to complete!
level_number of "5" seems to be the maximum reasonable level to
start with in this mode.
Options -A -C -a -H -f not tested with this option!
Prints the scripts version number and exits.
By default this script will run with all photo databases created by digikam version 0.10 as well as older version like 0.9 and 0.8. If you still have digikam version 0.7 then you have to reconfigure the script itself.
You have to reconfigure the script by setting the path to the sqlite binary that is used by the script to query the digikam database digikam.db. Since very old digikam version use sqlite in version 2, but later digikam versions need sqlite version 3 you have to take care to install the correct version of sqlite for the installed digikam version and to set the path to the correct sqlite executable in the scripts head:
for digikam version 0.8x and 0.9x and 0.10x
for digikam version 0.7x.
A call to digitaglinktree is shown below:
digiTagLinktree -l /home/user/tags
In this example we assume that you are running digikam version 0.10 or higher so that no option -r was used to specify the photo root dir. Instead this information will automatically be fetched from digikams database.
In case you want to run the script on a digikam database that was created by digikam version 0.9 or earlier you have to use -r to specify the root directory where you keep all your photos that are managed by digikam:
digiTagLinktree -l /home/user/tags
In this example digikams photo root denoted by -r is /home/user/photos.
Option -l /home/user/tags tells the script that all the subdirectories and symbolic links will be placed in the directory /home/user/tags. The folder was chosen so that the tags-directory is not under digikams photo root. You may put the tags folder inside digikams photoroot but this is not the preferred method. Because the link directory contains only links this tag structure does hardly need any additional space on your harddisk.
digiTagLinktree -r /home/user/photos -l /home/user/tags
In this example if you have an image with the tags People/me, Place/home from 1970 it will create the following directory (link to the image under _all directory)
same starting with /Place ... same starting with /People ...
digitaglinktree was written by Rainer Krienke <krienke at uni-koblenz.de>
|DIGITAGLINKTREE (1)||16 Aug 2006|