(resp)
return time.localtime(utc - zone)
Parse an IMAP4 INTERNALDATE string.

    Return corresponding local time.  The return value is a
    time.struct_time instance or None if the string has wrong format.
Parse an IMAP4 INTERNALDATE string.
Parse an IMAP4 INTERNALDATE string .
def Internaldate2tuple(resp):
    """Parse an IMAP4 INTERNALDATE string.

    Return corresponding local time.  The return value is a
    time.struct_time instance or None if the string has wrong format.
    """

    mo = InternalDate.match(resp)
    if not mo:
        return None

    mon = Mon2num[mo.group('mon')]
    zonen = mo.group('zonen')

    day = int(mo.group('day'))
    year = int(mo.group('year'))
    hour = int(mo.group('hour'))
    min = int(mo.group('min'))
    sec = int(mo.group('sec'))
    zoneh = int(mo.group('zoneh'))
    zonem = int(mo.group('zonem'))

    # INTERNALDATE timezone must be subtracted to get UT

    zone = (zoneh*60 + zonem)*60
    if zonen == '-':
        zone = -zone

    tt = (year, mon, day, hour, min, sec, -1, -1, -1)

    utc = time.mktime(tt)

    # Following is necessary because the time module has no 'mkgmtime'.
    # 'mktime' assumes arg in local timezone, so adds timezone/altzone.

    lt = time.localtime(utc)
    if time.daylight and lt[-1]:
        zone = zone + time.altzone
    else:
        zone = zone + time.timezone

    return time.localtime(utc - zone)
def Internaldate2tuple ( resp ) : mo = InternalDate . match ( resp ) if not mo : return None mon = Mon2num [ mo . group ( 'mon' ) ] zonen = mo . group ( 'zonen' ) day = int ( mo . group ( 'day' ) ) year = int ( mo . group ( 'year' ) ) hour = int ( mo . group ( 'hour' ) ) min = int ( mo . group ( 'min' ) ) sec = int ( mo . group ( 'sec' ) ) zoneh = int ( mo . group ( 'zoneh' ) ) zonem = int ( mo . group ( 'zonem' ) ) # INTERNALDATE timezone must be subtracted to get UT zone = ( zoneh * 60 + zonem ) * 60 if zonen == '-' : zone = - zone tt = ( year , mon , day , hour , min , sec , - 1 , - 1 , - 1 ) utc = time . mktime ( tt ) # Following is necessary because the time module has no 'mkgmtime'. # 'mktime' assumes arg in local timezone, so adds timezone/altzone. lt = time . localtime ( utc ) if time . daylight and lt [ - 1 ] : zone = zone + time . altzone else : zone = zone + time . timezone return time . localtime ( utc - zone )