我们从Python开源项目中,提取了以下36个代码示例,用于说明如何使用email.feedparser()。
def test_push_random(self): from email.feedparser import BufferedSubFile, NeedMoreData n = 10000 chunksize = 5 chars = 'abcd \t\r\n' s = ''.join(choice(chars) for i in range(n)) + '\n' target = s.splitlines(True) bsf = BufferedSubFile() lines = [] for i in range(0, len(s), chunksize): chunk = s[i:i+chunksize] bsf.push(chunk) lines.extend(iter(bsf.readline, NeedMoreData)) self.assertEqual(lines, target)
def test_pushCR_LF(self): '''FeedParser BufferedSubFile.push() assumed it received complete line endings. A CR ending one push() followed by a LF starting the next push() added an empty line. ''' imt = [ ("a\r \n", 2), ("b", 0), ("c\n", 1), ("", 0), ("d\r\n", 1), ("e\r", 0), ("\nf", 1), ("\r\n", 1), ] from email.feedparser import BufferedSubFile, NeedMoreData bsf = BufferedSubFile() om = [] nt = 0 for il, n in imt: bsf.push(il) nt += n n1 = 0 for ol in iter(bsf.readline, NeedMoreData): om.append(ol) n1 += 1 self.assertEqual(n, n1) self.assertEqual(len(om), nt) self.assertEqual(''.join([il for il, n in imt]), ''.join(om))
def parse(self, chunks): from email.feedparser import FeedParser feedparser = FeedParser() for chunk in chunks: feedparser.feed(chunk) return feedparser.close()
def test_pushCR_LF(self): '''FeedParser BufferedSubFile.push() assumed it received complete line endings. A CR ending one push() followed by a LF starting the next push() added an empty line. ''' imt = [ ("a\r \n", 2), ("b", 0), ("c\n", 1), ("", 0), ("d\r\n", 1), ("e\r", 0), ("\nf", 1), ("\r\n", 1), ] from email.feedparser import BufferedSubFile, NeedMoreData bsf = BufferedSubFile() om = [] nt = 0 for il, n in imt: bsf.push(il) nt += n n1 = 0 while True: ol = bsf.readline() if ol == NeedMoreData: break om.append(ol) n1 += 1 self.assertTrue(n == n1) self.assertTrue(len(om) == nt) self.assertTrue(''.join([il for il, n in imt]) == ''.join(om))
def test_bytes_feedparser(self): bfp = email.feedparser.BytesFeedParser() for i in range(0, len(self.latin_bin_msg), 10): bfp.feed(self.latin_bin_msg[i:i+10]) m = bfp.close() self.assertEqual(str(m), self.latin_bin_msg_as7bit)
def test__all__(self): module = __import__('email') self.assertEqual(sorted(module.__all__), [ 'base64mime', 'charset', 'encoders', 'errors', 'feedparser', 'generator', 'header', 'iterators', 'message', 'message_from_binary_file', 'message_from_bytes', 'message_from_file', 'message_from_string', 'mime', 'parser', 'quoprimime', 'utils', ])