docs: def parse_timezone(tzstring, default_timezone=UTC):
      """Parses ISO 8601 time zone specs into tzinfo offsets
      
      """
      if tzstring == "Z":
          return default_timezone
      # This isn't strictly correct, but it's common to encounter dates without
      # timezones so I'll assume the default (which defaults to UTC).
      # Addresses issue 4.
      if tzstring is None:
          return default_timezone
      m = TIMEZONE_REGEX.match(tzstring)
      prefix, hours, minutes = m.groups()
      hours, minutes = int(hours), int(minutes)
      if prefix == "-":
          hours = -hours
          minutes = -minutes
      return FixedOffset(hours, minutes, tzstring)