From a45d8fdd09340c5ea7597121e8d1c99f9af0df62 Mon Sep 17 00:00:00 2001 From: Nick Hall Date: Sun, 12 Jun 2011 13:10:18 +0000 Subject: [PATCH] Display partial dates as invalid svn: r17760 --- src/plugins/gramplet/EditExifMetadata.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/plugins/gramplet/EditExifMetadata.py b/src/plugins/gramplet/EditExifMetadata.py index 193e1ca1d..49ae908b9 100644 --- a/src/plugins/gramplet/EditExifMetadata.py +++ b/src/plugins/gramplet/EditExifMetadata.py @@ -980,7 +980,7 @@ class EditExifMetadata(Gramplet): entry = ValidatableMaskedEntry() entry.connect('validate', self.validate_datetime, widget) -# entry.connect('content-changed', self.set_datetime, widget) + entry.connect('content-changed', self.set_datetime, widget) event_box.add(entry) self.exif_widgets[widget] = entry entry.show() @@ -1580,12 +1580,18 @@ def _parse_datetime(value): time_part = None if date_part.get_modifier() == Date.MOD_NONE and time_part is not None: - return datetime(date_part.get_year(), - date_part.get_month(), - date_part.get_day(), - time_part.tm_hour, - time_part.tm_min, - time_part.tm_sec) + if (date_part.get_year() == 0 or + date_part.get_month() == 0 or + date_part.get_day() == 0): + # Partial date only + return None + else: + return datetime(date_part.get_year(), + date_part.get_month(), + date_part.get_day(), + time_part.tm_hour, + time_part.tm_min, + time_part.tm_sec) else: return None