def from_json(obj): custom = obj.get('__class__') if custom is not None: if custom == 'bytearray': return bytearray( base64.standard_b64decode(obj['__value__'].encode('ascii'))) if custom == 'datetime.datetime': return iso8601.parse_iso8601(obj['__value__'], assume_utc=True) if custom == 'set': return set(obj['__value__']) return obj
def parse_date(raw, is_w3cdtf=False): raw = raw.strip() if is_w3cdtf: ans = parse_iso8601(raw, assume_utc=True) if 'T' not in raw and ' ' not in raw: ans = fix_only_date(ans) else: ans = parse_date_(raw, assume_utc=True) if (' ' not in raw and 'T' not in raw and (ans.hour, ans.minute, ans.second) == (0, 0, 0)): ans = fix_only_date(ans) return ans
def decode_datetime(x, fj): from ebook_converter.utils.iso8601 import parse_iso8601 return parse_iso8601(x, assume_utc=True)