Skip to content

Instantly share code, notes, and snippets.

@reidab
Created April 29, 2013 21:29
Show Gist options
  • Select an option

  • Save reidab/5484948 to your computer and use it in GitHub Desktop.

Select an option

Save reidab/5484948 to your computer and use it in GitHub Desktop.
Copy {iView MediaPro | Microsoft Expression Media | PhaseOne MediaPro} Catalog Sets to XMP Hierarchical Keywords for import into Lightroom
# I had a batch of photos that I'd carefully cataloged using MediaPro's "Catalog Sets" feature,
# which I wanted to transfer into a Lightroom catalog. When you write metadata back to the original
# photo files in MediaPro, it writes the Catalog Sets as XMP data. Unfortunately, Lightroom ignores
# this data when importing the files.
#
# This exiftool invocation will copy the Catalog Sets tags to HierarchicalSubject, which lightroom
# will happily import as nested keywords. The two fields use the same format to store the nested data,
# so it's fairly straightforward. (One caveat that I found is that, while Lightroom reads this on
# initial import, it doesn't seem to update the keywords when reloading metadata for an
# already-imported file.
exiftool -XMP:HierarchicalSubject+="`exiftool -"XMP:CatalogSets" -S image.jpg | cut -d : -f 2 | sed 's/^ *//g'`" -overwrite_original image.jpg
# Or in a ZSH loop:
for file (*) {exiftool -XMP:HierarchicalSubject+="`exiftool -"XMP:CatalogSets" -S $file | cut -d : -f 2 | sed 's/^ *//g'`" -overwrite_original $file}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment