merlin.dates

merlin.dates.enddate(acquired)[source]

Returns the enddate from an acquired date string

Parameters:acquired (str) – / separated date range in iso8601 format
Returns:End date
Return type:str
merlin.dates.is_acquired(acquired)[source]

Is the date string a / separated date range in iso8601 format?

Parameters:acquired – A date string
Returns:True or False
Return type:bool
merlin.dates.mapped(chipmap)[source]

Transform a dict of chips into a dict of datestrings

Parameters:chipmap (dict) – {k: [chips]}
Returns:{k: [datestring2, datestring1, datestring3]}
Return type:dict
merlin.dates.rsort(dateseq)[source]

Reverse sorts a sequence of dates.

Parameters:dateseq – sequence of dates
Returns:reverse sorted sequence of dates
Return type:sequence
merlin.dates.startdate(acquired)[source]

Returns the startdate from an acquired date string

Parameters:acquired (str) – / separated date range in iso8601 format
Returns:Start date
Return type:str
merlin.dates.symmetric(datemap)[source]

Returns a sequence of dates that are common to all map values if all datemap values are represented, else Exception.

Parameters:datemap – {key: [datestrings,]}
Returns:Sequence of date strings or Exception

Example

>>> common({"reds":  [ds3, ds1, ds2],
            "blues": [ds2, ds3, ds1]})
[2, 3, 1]
>>>
>>> common({"reds":  [ds3, ds1],
            "blues": [ds2, ds3, ds1]})
Exception: reds:[3, 1] does not match blues:[2, 3, 1]
merlin.dates.to_ordinal(datestring)[source]

Extract an ordinal date from a date string

Parameters:datestring (str) – date value
Returns:ordinal date
Return type:int