Utilities

codebase.utils.parse_date(value)[source]

Parse a string, returning a time zone-aware datetime instance.

If the value is an invalid format the original value is returned.

>>> parse_date('2016-01-02T03:04:05Z')
datetime.datetime(2016, 1, 2, 3, 4, 5, tzinfo=<codebase.utils.UTC ...>) 
>>> parse_date('2016-01-02T03:04:05')
'2016-01-02T03:04:05'
>>> parse_date('foo')
'foo'
>>> parse_date(None)
>>>
codebase.utils.encode_dict(d, encoding='UTF-8')[source]

Convert unicode and datetime values in a dictionary to encoded strings.

Useful for writing rows to an instance of csv.DictWriter.