Import from other software¶
This page aims to share documentation on how to import your images from other software into shotwell.
Shotwell generally behaves pretty well with metadata, although it has a few issues:
- writes directly to the JPG files and not to sidecar files (http://redmine.yorba.org/issues/1879)
- RAW metadata simply doesn't get written at all (http://redmine.yorba.org/issues/4156, http://redmine.yorba.org/issues/5451)
- JPG files get rendered on disk and saved by shotwell, even if the camera shoots in RAW+JPG (there's a new setting to workaround that, see http://redmine.yorba.org/issues/4261)
Other important notes:
- "events", a similar concept than DT's 'rolls' are stored only in the database
- the directory structure is generally Photos/YYYY/MM/DD, which DT doesn't really like because it means the roll names are DD
- shotwell stores its metadata in a SQLite database in .local/share/shotwell/data/photo.db
So to import your files from Shotwell to Darktable is fairly easy: just import the Photo folder directly into Darktable, using the Import > Folder tool on the top left. Make sure you associated a tag to those images as this will be useful later to tell those images apart, say
shotwell-YYYYMMDD. All the images will be imported swiftly, but Darktable will also work on generating thumbnails for all those pictures, which will take a much longer time. Those thumbnails are generated on the fly so you may want to spend some time scrolling by hand through your collection to generate them all once.
Also, in my case Darktable crashed during the import. Fortunately, you can just restart the import without ill effects. I had to do this 3 times for a 10k image collection.
As mentionned above, metadata from JPG files gets imported without problems and neatly shows up in Darktable. This includes tags, ratings and so on. However, RAW files don't get the same privilege: no metadata gets imported at all because well, there is no metadata from shotwell in those files. It is only in the database.
After messing around with a bunch of python for an hour or two, I wrote a rather convoluted script that will extract some data from Shotwell. I asked for the tool to be included in the darktable distribution, but you can already get it from issue #9461.
In my case, it reported:
1221/1496 images found, 41 found with metadata, 41 changed
... in other words, only 1221 of the images lacking metadata were found in shotwell, and of those, only 41 had tags! Ouch! Well, it's still useful enough for me - i got some data out of there. I filed the helper script in issue #9461 for others to use, but it would need some improvements to be completely useful. It also still relies on an original import and so on.
Make sure you stop darktable before running the script.