From e74dd34d2e33b8725ea14f4294bc88a13400e0a4 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Tue, 24 Aug 2010 13:18:11 +0000 Subject: [PATCH] Fix exception triggered by all_id* and 1id_* generating scripts when a document lacks creation date. Closes #371. - Legacy-Id: 2501 --- ietf/idrfc/views_doc.py | 5 ++++- ietf/idtracker/templatetags/ietf_filters.py | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ietf/idrfc/views_doc.py b/ietf/idrfc/views_doc.py index 1ddb73d39..ca29b988a 100644 --- a/ietf/idrfc/views_doc.py +++ b/ietf/idrfc/views_doc.py @@ -180,7 +180,10 @@ def _get_history(doc, versions): # convert plain dates to datetimes (required for sorting) for x in results: if not isinstance(x['date'], datetime): - x['date'] = datetime.combine(x['date'], time(0,0,0)) + if x['date']: + x['date'] = datetime.combine(x['date'], time(0,0,0)) + else: + x['date'] = datetime(1970,1,1) results.sort(key=lambda x: x['date']) results.reverse() diff --git a/ietf/idtracker/templatetags/ietf_filters.py b/ietf/idtracker/templatetags/ietf_filters.py index a671ad770..03c262c78 100644 --- a/ietf/idtracker/templatetags/ietf_filters.py +++ b/ietf/idtracker/templatetags/ietf_filters.py @@ -368,7 +368,7 @@ def stable_dictsort(value, arg): http://code.djangoproject.com/ticket/12110 """ decorated = [(resolve_variable('var.' + arg, {'var' : item}), item) for item in value] - decorated.sort(lambda a, b: cmp(a[0], b[0])) + decorated.sort(lambda a, b: cmp(a[0], b[0]) if a[0] and b[0] else -1 if b[0] else 1 if a[0] else 0) return [item[1] for item in decorated] def _test():