code: def _scan_line(self, line):
          
          is_quote_header = self.QUOTE_HDR_REGEX.match(line) is not None
          is_quoted = self.QUOTED_REGEX.match(line) is not None
          is_header = is_quote_header or self.HEADER_REGEX.match(line) is not None
  
          if self.fragment and len(line.strip()) == 0:
              if self.SIG_REGEX.match(self.fragment.lines[-1].strip()):
                  self.fragment.signature = True
                  self._finish_fragment()
  
          if self.fragment \
                  and ((self.fragment.headers == is_header and self.fragment.quoted == is_quoted) or
                           (self.fragment.quoted and (is_quote_header or len(line.strip()) == 0))):
  
              self.fragment.lines.append(line)
          else:
              self._finish_fragment()
              self.fragment = Fragment(is_quoted, line, headers=is_header)
docs: Reviews each line in email message and determines fragment type
  
              line - a row of text from an email message