Show ISO 8601 formatted expiration dates
authorJan Dittberner <jandd@cacert.org>
Sat, 7 May 2016 11:12:49 +0000 (13:12 +0200)
committerJan Dittberner <jandd@cacert.org>
Sat, 7 May 2016 11:12:49 +0000 (13:12 +0200)
This commit implements parsing of expiration dates and rendering of the
result in ISO 8601 format.

doc-requirements.txt
docs/sphinxext/cacert.py

index 06fa982..5a90ae1 100644 (file)
@@ -11,3 +11,4 @@ six==1.10.0
 snowballstemmer==1.2.1
 jandd.sphinxext.ip==0.2.4
 jandd.sphinxext.mac==0.1.0
+py-dateutil==2.2
index a7e645e..1dd731a 100644 (file)
@@ -19,6 +19,8 @@ from sphinx import addnodes
 from sphinx.errors import SphinxError
 from sphinx.util.nodes import set_source_info, make_refnode
 
+from dateutil.parser import parse as date_parse
+
 
 class sslcert_node(nodes.General, nodes.Element):
     pass
@@ -56,8 +58,7 @@ def subject_alternative_names(argument):
 
 
 def expiration_date(argument):
-    # TODO: normalize to internal format
-    return directives.unchanged_required(argument)
+    return date_parse(directives.unchanged_required(argument))
 
 
 class CAcertSSLCert(Directive):
@@ -273,7 +274,6 @@ def _format_serial_number(serial):
 
 
 def _format_expiration_date(expiration):
-    # TODO use a normalized date format
     return nodes.paragraph(text=expiration)