<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def fromRFC2822(klass, rfc822string):
 """ Return a new Time instance from a string formated as described in RFC 2822. @type rfc822string: str @raise ValueError: if the timestamp is not formatted properly (or if certain obsoleted elements of the specification are used). @return: a new L{Time} """


        # parsedate_tz is going to give us a "struct_time plus", a 10-tuple
        # containing the 9 values a struct_time would, i.e.: (tm_year, tm_mon,
        # tm_day, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst), plus a
        # bonus "offset", which is an offset (in _seconds_, of all things).

        maybeStructTimePlus = parsedate_tz(rfc822string)

        if maybeStructTimePlus is None:
            raise ValueError, 'could not parse RFC 2822 date %r' % (rfc822string,)
        structTimePlus = sanitizeStructTime(maybeStructTimePlus)
        offsetInSeconds = structTimePlus[-1]
        if offsetInSeconds is None:
            offsetInSeconds = 0
        self = klass.fromStructTime(
            structTimePlus,
            FixedOffset(
                hours=0,
                minutes=offsetInSeconds // 60))
        self.resolution = datetime.timedelta(seconds=1)
        return self