Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
digitaglinktree(1)	      Linux User's Manual	    digitaglinktree(1)

       digitaglinktree	-  Export  tag	structure  of photos in	digikam	to the


       -l taglinkdir | -A archivedir

       -d database

       [-r rootdir]


       digitaglinktree will create a linktree for  all	photos	in  a  digikam
       database	that have tags set on them. Tags (like eg. "family", "events",
       ...)  are used in digikam to create virtual folders  containing	images
       that all	have one or more tags assigned.	 Please	note: Photos that have
       no tags at all assigned are silently ignored by this script.  The  pro-
       gram  will  not	modify	or  even touch your original photos managed by

       The script can be used in two ways: If you call	it  using  Option   -l
       taglinkdir   the	 script	 will  create  the  user  specified  directory
       taglinkdir and inside this directory it will create sub directories for
       digikam	tags   set  on the photos. Inside these	subdirectories it will
       finally	place symbolic or hard links  (see -H) to  photos  having  the
       tags  in	question.  As a	result you will	see the	tags of	your photos as
       folders and in these folders you	will find links	to your	original  pho-

       In  this	 way  you can access the collection of all images that share a
       certain tag by changing directory to the	folder with the	tags name cre-
       ated  by	this script.  This allows you e.g. to run JAlbum a photo album
       software	that needs to find the pictures	to be put into a web album  in
       the  filesystem	because	 JAlbum	cannot access digikams virtual folders

       The second way of calling this script is	the so called archive-mode  by
       setting option  -A archiveDir.

       Archive	mode  is  thought for people who want to archive tagged	photos
       independently of	digikams root  directories  and	 the  photos  therein.
       This  way  you can put your photos and their tag	structure in eg. a tar
       archive and send	it  to a friend, who can look at the photos via	 their
       tag  structure.	In this	mode the script	creates	the directory given as
       parameter to -A and in this  directory  two  more  subdirectories.  One
       named  Photos  and  a second named Tags.	 The Photos directory contains
       hard links to your original photos, and the Tags	directory  contains  a
       subdirectory  for each Tag used by any of your photos. Inside this sub-
       directory there are links (either symbolic or hard links) to the	 files
       in  the	Photos directory. This way the archive	directory needs	nearly
       no additional space on your harddisk and	you have an archive that   al-
       lows you	or a friend to easily look at the photos tag structure.

       Another	benefit	 from  using  this  script  is that you	have kind of a
       backup of your tag settings for all of your photos. The backup is  sim-
       ply  the	 directory  structure  containing links	to the original	images
       that wear the tags.  This could become important	if for whatever	reason
       the digikam.db file gets	corrupted or even lost.

	-l taglinkdir
	      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.

	-A archivedirectory
	      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  di-
	      rectory  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 di-
	      rectly. However still the	requirement holds, that	archivedir has
	      to  be on	the same filesystem like all the root directories con-
	      taining photos you defined in digikam.  If one of	digikams  root
	      directories  is  on another filesystem this one will not be pro-
	      cessed, 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 in-

	-d database
	      database is the complete path including the filename to digikams
	      photo  database  which usually can be found in digikams root di-
	      rectory. The files name  is usually digikam.db .

	-r rootdir
	      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.

	-C    When  the	 script	is called with option -A archivedir only those
	      photos will be archived (by placing links) in the	Photos	subdi-
	      rectory 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	subdi-
	      rectory in the archivedir	directory.

	-a    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.

	-H    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 cre-
	      ated 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.

	-f    In digikam photos	can have hierachical tags (tags	that have sub-
	      tags).  In  this case digitaglinktree would by default add a di-
	      rectory 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 indepen-
	      dent of the tag -	subtag hierarchy.

	-Y    Create year directory under each tag directory. Year information
	      is taken from "Date taken" in database.

	-i tag1,..,tagn
	      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.

	-e tag1,..,tagn
	      tag1,..,tagn Exclude images with tags in the list. Use comma  as
	      tag separator. Default is	"none".

	-M level_number
	      level_number specify the number of directory level. -M specifies
	      that instead of following	normal tag hierarchy, it creates a hi-
	      erarchy  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!

	-V    Verbose mode.

	-v    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

       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



       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
		   -d /home/user/photos/digikam.db

       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. In-
       stead this information will  automatically  be  fetched	from  digikams

       In  case	you want to run	the script on a	digikam	database that was cre-
       ated 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

       digiTagLinktree -l /home/user/tags
		   -d /home/user/photos/digikam.db

       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	    -d
		   -i People,Place
		   -M 2

       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->

				 16 Aug	2006		    digitaglinktree(1)


Want to link to this manual page? Use this URL:

home | help