summaryrefslogtreecommitdiff
path: root/src/cgg-dirgen
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@users.sourceforge.net>2012-12-27 20:29:37 +0100
committerTomas Bzatek <tbzatek@users.sourceforge.net>2012-12-27 20:29:37 +0100
commitd0599f8ab5c38e14845407dea4eef4d4957f9e28 (patch)
tree14d5636e8a4213c06ab4144e5ae32a88f4ddbc8b /src/cgg-dirgen
parentdfb9d91c3342d9415a41e98d3a4af7d8c7472c6b (diff)
downloadcataract-d0599f8ab5c38e14845407dea4eef4d4957f9e28.tar.xz
Support external EXIF metadata
This brings an ability to specify external file to read EXIF/IPTC data from. The motivation was to work around RAW editors randomly stripping some EXIF blocks.
Diffstat (limited to 'src/cgg-dirgen')
-rwxr-xr-xsrc/cgg-dirgen16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/cgg-dirgen b/src/cgg-dirgen
index 0df3943..4cff755 100755
--- a/src/cgg-dirgen
+++ b/src/cgg-dirgen
@@ -23,6 +23,8 @@ PREVIEW_PATH="preview"
NO_FULLSIZE="no"
EXT_THUMB="no"
EXT_THUMB_PATH="thumbnails"
+EXT_EXIF="no"
+EXT_EXIF_PATH="exif"
print_help()
@@ -37,6 +39,8 @@ print_help()
echo " - deprecated, use global <nofullsize /> tag"
echo " -t, --thumbnails [dir] Use supplied thumbnails"
echo " - takes optional [dir] argument (default=\"thumbnails\")"
+ echo " -e, --exif [dir] Use external EXIF data (.exv file extension)"
+ echo " - takes optional [dir] argument (default=\"exif\")"
}
@@ -64,6 +68,14 @@ while [[ $1 = -* ]]; do
shift
fi
;;
+ -e|--exif)
+ EXT_EXIF="yes"
+ shift
+ if [[ ! $1 == -* && ! "x$1" == "x" ]]; then
+ EXT_EXIF_PATH="$1"
+ shift
+ fi
+ ;;
-h|--help|-\?)
print_help;
exit
@@ -93,10 +105,12 @@ XML_HEADER_STOP
for i in `find -L . -maxdepth 1 -type f -iname '*.jpg' -or -iname '*.jpeg' -or -iname '*.gif' -or -iname '*.png' | sort`; do
INCL="";
+ INCL_AFTER="";
if [[ ${PREVIEW} == "yes" ]]; then INCL=" preview=\"${PREVIEW_PATH}/`echo $i | cut -b 3-`\""; fi
if [[ ${EXT_THUMB} == "yes" ]]; then INCL+=" thumbnail=\"${EXT_THUMB_PATH}/`echo $i | cut -b 3-`\""; fi
if [[ ${NO_FULLSIZE} == "yes" ]]; then INCL+=">\n <nofullsize /"; fi
- echo -e " <item src=\"`echo $i | cut -b 3-`\"${INCL}>\n <title> </title>\n <title_description> </title_description>\n </item>\n";
+ if [[ ${EXT_EXIF} == "yes" ]]; then INCL_AFTER+=" <metadata>\n <external_exif src=\"${EXT_EXIF_PATH}/`echo ${i%.*}.exv | cut -b 3-`\" />\n </metadata>\n"; fi
+ echo -e " <item src=\"`echo $i | cut -b 3-`\"${INCL}>\n <title> </title>\n <title_description> </title_description>\n${INCL_AFTER} </item>\n";
done
cat << XML_FOOTER_STOP