picasa2tags -- copies Picasa Region Names to OpenMeta and Windows tags
picasa2tags [OPTION] [DIR/FILE]
-r recursively copy tags for files in directory
-n non recursively copy tags in direcory
-p path to single file to copy tags
if [ x$2 = "x" ]; then
if [ $1 = "-r" ] ; then
fileList="$(find $2 -name *.[jJ][pP][gG])"
elif [ $1 = "-n" ]; then
elif [ $1 = "-p" ]; then
for file in $fileList; do
regionname=$(exiftool -regionname $file | cut -d : -f2 | sed 's/, / /g') # get names
#regionname=$(exiftool -regionname $file | cut -d : -f2 | sed 's/, /,/g') # handle spaces
read -rd '' regionname <<< "$regionname" # cut preceding space
if [ x$regionname = "x" ]; then # only change photos that have a regionname
openmeta -a $regionname -p $file # save to openmeta tags
#openmeta -a "$regionname" -p $file # handle spaces
- Make sure you have backed up your photos just in case something goes wrong!
- The script will only work properly if in my other script, om2exif.sh, you replace the exiftool option -overwrite_original with -overwrite_original_in_place. If you don't, the new OpenMeta tags mysteriously disappear if you view them with Tagit.
- Unfortunately, because my om2exif.sh script does not handle spaces in tag names, this script will not either. Perhaps someone can help me sort that with a line or two of code. To enable this script to handle spaces as far as transferring the tags to OpenMeta, simply uncomment the two lines marked with "use to handle spaces" (delete the first "#" in the line) and comment out each previous line. This apparently is not recommended by the OpenMeta help file but I think the help file is probably either inaccurate or out of date! Otherwise, in the mean time, tag names are just as search able if you enter them as AlbertEinstein or ChrisR.
- Close Picasa before running script otherwise it might not recognise all of the changes you have made to the tags.