Skip to content

Commit 2d82eea

Browse files
authored
Merge pull request #594 from deekayhd/master
rename_images: error when renaming images without exif data
2 parents aed3275 + 5662519 commit 2d82eea

File tree

1 file changed

+22
-5
lines changed

1 file changed

+22
-5
lines changed

lib/dtutils/string.lua

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -734,16 +734,33 @@ function dtutils_string.build_substitute_list(image, sequence, variable_string,
734734

735735
local labels = get_colorlabels(image)
736736

737-
local eyear, emon, eday, ehour, emin, esec, emsec
737+
local datetime_taken = ""
738+
local use_millisecs = false
738739
if dt.preferences.read("darktable", "lighttable/ui/milliseconds", "bool") and is_api_9_1 then
740+
use_millisecs = true
741+
end
742+
743+
if image.exif_datetime_taken and image.exif_datetime_taken ~= "" then
744+
datetime_taken = image.exif_datetime_taken
745+
else
746+
if use_millisecs then
747+
datetime_taken = "0000:00:00 00:00:00.0"
748+
else
749+
datetime_taken = "0000:00:00 00:00:00"
750+
end
751+
end
752+
753+
local eyear, emon, eday, ehour, emin, esec, emsec
754+
if use_millisecs then
739755
eyear, emon, eday, ehour, emin, esec, emsec =
740-
string.match(image.exif_datetime_taken, "(%d+):(%d+):(%d+) (%d+):(%d+):(%d+)%.(%d+)$")
756+
string.match(datetime_taken, "(%d+):(%d+):(%d+) (%d+):(%d+):(%d+)%.(%d+)$")
741757
else
742758
emsec = "0"
743759
eyear, emon, eday, ehour, emin, esec =
744-
string.match(image.exif_datetime_taken, "(%d+):(%d+):(%d+) (%d+):(%d+):(%d+)$")
760+
string.match(datetime_taken, "(%d+):(%d+):(%d+) (%d+):(%d+):(%d+)$")
745761
end
746762

763+
747764
local version_multi = #image:get_group_members() > 1 and image.duplicate_index or ""
748765

749766
local replacements = {dtutils_string.get_basename(image.film.path),-- ROLL.NAME
@@ -781,8 +798,8 @@ function dtutils_string.build_substitute_list(image, sequence, variable_string,
781798
eyear, -- EXIF.YEAR
782799
string.sub(eyear, 3), -- EXIF.YEAR.SHORT
783800
emon, -- EXIF.MONTH
784-
os.date("%B", exiftime2systime(image.exif_datetime_taken)), -- EXIF.MONTH.LONG
785-
os.date("%b", exiftime2systime(image.exif_datetime_taken)), -- EXIF.MONTH.SHORT
801+
os.date("%B", exiftime2systime(datetime_taken)), -- EXIF.MONTH.LONG
802+
os.date("%b", exiftime2systime(datetime_taken)), -- EXIF.MONTH.SHORT
786803
eday, -- EXIF.DAY
787804
ehour, -- EXIF.HOUR
788805
"", -- EXIF.HOUR.AMPM

0 commit comments

Comments
 (0)