def ParseMessage(fd, pgpmime=True): pos = fd.tell() header = [fd.readline()] while header[-1] not in ('', '\n', '\r\n'): line = fd.readline() if line.startswith(' ') or line.startswith('\t'): header[-1] += line else: header.append(line) fd.seek(pos) if pgpmime: message = PGPMimeParser().parse(fd) else: message = email.parser.Parser().parse(fd) message.raw_header = header return message
def ParseMessage(fd, pgpmime=True): pos = fd.tell() if logger.isEnabledFor(logging.DEBUG): fd.seek(0, os.SEEK_END) _len = fd.tell() fd.seek(pos) logger.debug("Parsing message (fd: %s, len: %d, pos: %d)" % (fd, _len, pos)) header = [fd.readline()] while header[-1] not in ('', '\n', '\r\n'): line = fd.readline() if line.startswith(' ') or line.startswith('\t'): header[-1] += line else: header.append(line) fd.seek(pos) if GnuPG and pgpmime: message = PGPMimeParser().parse(fd) else: message = email.parser.Parser().parse(fd) message.raw_header = header return message