def guess_datetime(value): if value: value = to_string(value) for pattern in DATETIME_PATTERNS: try: datetime_value = STRING_TO_DATETIME(value, pattern) except ValueError: pass else: return datetime_value
def maybe_datetime(value, date_format='%Y-%m-%d %H:%M:%S'): if isinstance(value, DATETIME): return value elif isinstance(value, DATE): return COMBINE_DATETIME(value, EMPTY_TIME) value = to_string(value) try: result = STRING_TO_DATETIME(value, date_format) except (TypeError, ValueError): date_value = maybe_date(value) if date_value: return COMBINE_DATETIME(date_value, EMPTY_TIME) else: return result
def inject_junk(value): # TODO use hmac value = to_string(value) if len(value) < 6: orders = list('987654') else: orders = list() blocks = list(value) for order in blocks: orders.extend(str(ord(order))) junk_code = '1234qwerty' while orders: order = int(orders.pop(0)) # Inject some junk position = int(ceil(len(blocks) / (order + 1.))) blocks.insert(position, junk_code[order]) return ''.join(blocks)