docs: 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