Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def parseEmailData(txtInput):
- emList, kCur = [{}], None
- for l in txtInput.strip().splitlines():
- lWords = l.split()
- if set(l.strip())=={'='}: kCur, emList = None, emList+[{}]
- if (kCur is None and not lWords) or set(l.strip())=={'='}: continue
- if lWords and lWords[0][-1:]==':':
- kCur, lWords = lWords[0][:-1], lWords[1:]
- emList[-1][kCur] = ' '.join([emList[-1].get(kCur,''),*lWords]).lstrip()
- return emList
- ############################# EXAMPLE
- xTxt = '''
- Message-ID: <28344803.1075840320191.JavaMail.evans@thyme>
- Date: Thu, 31 Jan 2002 17:15:48 -0800 (PST)
- From: [email protected]
- Subject: Gas Curves Validation
- Mime-Version: 1.0
- Content-Type: text/plain; charset=us-ascii
- Content-Transfer-Encoding: 7bit
- =====================
- Message-ID: <18785887.1075840319106.JavaMail.evans@thyme>
- Date: Wed, 6 Feb 2002 13:22:24 -0800 (PST)
- From: [email protected]
- Subject: Photos
- Mime-Version: 1.0
- Content-Type: text/plain; charset=us-ascii
- Content-Transfer-Encoding: 7bit
- X-From: K. Bass <[email protected]>
- X-To: Bass, Eric </O=ENRON/OU=NA/CN=RECIPIENTS/CN=EBASS>
- X-cc:
- X-bcc:
- X-Folder: \ExMerge - Bass, Eric\Inbox
- X-Origin: BASS-E
- X-FileName: eric bass 6-25-02.PST
- '''
- parseEmailData(xTxt) ## returns
- [{'Message-ID': '<28344803.1075840320191.JavaMail.evans@thyme>',
- 'Date': 'Thu, 31 Jan 2002 17:15:48 -0800 (PST)',
- 'Subject': 'Gas Curves Validation',
- 'Mime-Version': '1.0',
- 'Content-Type': 'text/plain; charset=us-ascii',
- 'Content-Transfer-Encoding': '7bit',
- {'Message-ID': '<18785887.1075840319106.JavaMail.evans@thyme>',
- 'Date': 'Wed, 6 Feb 2002 13:22:24 -0800 (PST)',
- 'Subject': 'Photos',
- 'Mime-Version': '1.0',
- 'Content-Type': 'text/plain; charset=us-ascii',
- 'Content-Transfer-Encoding': '7bit',
- 'X-To': 'Bass, Eric </O=ENRON/OU=NA/CN=RECIPIENTS/CN=EBASS>',
- 'X-cc': '',
- 'X-bcc': '',
- 'X-Folder': '\\ExMerge - Bass, Eric\\Inbox',
- 'X-Origin': 'BASS-E',
- 'X-FileName': 'eric bass 6-25-02.PST'}]
Advertisement
Add Comment
Please, Sign In to add comment