def process_datetime(value):
value = value.strip()<EOL>m = DATETIME_COMMON.match(value)<EOL>if m:<EOL><INDENT>dt = m.groupdict()<EOL>if not dt['<STR_LIT>']:<EOL><INDENT>dt['<STR_LIT>'] = NOW.year<EOL><DEDENT>dt['<STR_LIT>'] = MONTH_CODE[dt['<STR_LIT>']]<EOL>_convert_values_to_int(dt)<EOL>return DATETIME_FORMAT.format(datetime(**dt))<EOL><DEDENT>m = DATETIME_YESTERDAY.match(value)<EOL>if m:<EOL><INDENT>dt = m.groupdict()<EOL>_convert_values_to_int(dt)<EOL>return DATETIME_FORMAT.format(NOW.replace(**dt) - timedelta(<NUM_LIT:1>))<EOL><DEDENT>m = DATETIME_TODAY.match(value)<EOL>if m:<EOL><INDENT>dt = m.groupdict()<EOL>_convert_values_to_int(dt)<EOL>return DATETIME_FORMAT.format(NOW.replace(**dt))<EOL><DEDENT>return '<STR_LIT:?>'<EOL>
>>> PSEUDO_NOW = NOW.replace(hour=17, minute=27)

>>> process_datetime(u'25 ноября 1991 в 07:07')
'1991-11-25 07:07'

>>> process_datetime(u'1 января 1970 в 00:00')
'1970-01-01 00:00'

>>> process_datetime(u'8 мая в 17:27')  #doctest: +ELLIPSIS
'201...-05-08 17:27'

>>> process_datetime(u'сегодня в 17:27') == DATETIME_FORMAT.format(PSEUDO_NOW)
True

>>> process_datetime(u'вчера в 17:27') == DATETIME_FORMAT.format(PSEUDO_NOW - timedelta(days=1))
True