diff options
Diffstat (limited to 'src/jarabe/journal/misc.py')
-rw-r--r-- | src/jarabe/journal/misc.py | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/jarabe/journal/misc.py b/src/jarabe/journal/misc.py index 619fe43..4fcfc60 100644 --- a/src/jarabe/journal/misc.py +++ b/src/jarabe/journal/misc.py @@ -87,12 +87,20 @@ def get_icon_name(metadata): def get_date(metadata): """ Convert from a string in iso format to a more human-like format. """ if 'timestamp' in metadata: - timestamp = float(metadata['timestamp']) - return util.timestamp_to_elapsed_string(timestamp) + try: + timestamp = float(metadata['timestamp']) + except (TypeError, ValueError): + logging.warning('Invalid timestamp: %r', metadata['timestamp']) + else: + return util.timestamp_to_elapsed_string(timestamp) if 'mtime' in metadata: - ti = time.strptime(metadata['mtime'], '%Y-%m-%dT%H:%M:%S') - return util.timestamp_to_elapsed_string(time.mktime(ti)) + try: + ti = time.strptime(metadata['mtime'], '%Y-%m-%dT%H:%M:%S') + except (TypeError, ValueError): + logging.warning('Invalid mtime: %r', metadata['mtime']) + else: + return util.timestamp_to_elapsed_string(time.mktime(ti)) return _('No date') |