HTTPS SSH

desc2meta.py

Conversion tool for reading comments from ancient(?) descript.ion files.

The contents are written to respective image file's metadata.

(descript.ion files have been used on Windows by AcdSee, 4DOS and others.)

It checks all entries within a descript.ion file for filenames and comments.

Depending on the given options it does the following for every file found - if it's able to have metadata (means images):

  • list the metadata already stored in the file along with the comment
  • write the comment into the image metadata fields
    • Iptc.Application2.Caption
    • Xmp.dc.description
    • Exif.Photo.UserComment (problematic, don't use this generally)
  • remove above metadata fields from found images

Default behavior:

  • If no options are given, the expected/found filenames are listed only
  • Only the current directory is searched (use '-r' for recursive search)
  • Existing metadata isn't overwritten (use '-f' to force an overwrite)
  • The file modification timestamp isn't updated on writing metadata (use '-t' option to touch it)

Additionally it can

  • deactivate the descript.ion file(s) by renaming them to descript.ion.txt. This might be useful after a complete conversion run.

Usage:

desc2meta.py [-h] [-r] [-l] [-f] [-t] [-d] [-w] [--write-exiv]
             [--remove] [--deactivate] [--readme]

Optional arguments:

-h, --help       show this help message and exit
-r, --recursive  dive into subdirs too
-l, --list       list image metadata and comment from 'descript.ion'
-f, --force      write new metadata even if there is already existing data
-t, --touch      update file timestamps when writing metadata
-d, --debug      print debug output

To write metadata:

-w, --write      write IPTC/XMP caption/description
--write-exiv     write EXIF UserComment

To remove metadata:

--remove         remove metadata from files

To administer:

 (no image processing at all)

--deactivate     deactivate 'descript.ion' file(s) by renaming them
--readme         print readme text

Notes

This Python script uses pyexiv2 for image metadata handling.

Pyexiv2 is a python binding to exiv2, an image metadata library and tools, only available for Python2.

Its successor gexiv2 (GObject-based) is available for Python2 and 3 but not yet on Windows...

Since this tool is mostly needed on Windows it's written for Python2.

Required software (on Windows)