From 4710c53dcad1ebf3755f3efb9e80ac24bd72a9b2 Mon Sep 17 00:00:00 2001
From: darylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>
Date: Mon, 16 Apr 2012 22:12:42 +0000
Subject: AppPkg/Applications/Python: Add Python 2.7.2 sources since the
 release of Python 2.7.3 made them unavailable from the python.org web site.

These files are a subset of the python-2.7.2.tgz distribution from python.org.  Changed files from PyMod-2.7.2 have been copied into the corresponding directories of this tree, replacing the original files in the distribution.

Signed-off-by: daryl.mcdaniel@intel.com


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13197 6f19259b-4bc3-4df7-8a09-765794883524
---
 .../Python-2.7.2/Demo/scripts/mboxconvert.py       | 124 +++++++++++++++++++++
 1 file changed, 124 insertions(+)
 create mode 100644 AppPkg/Applications/Python/Python-2.7.2/Demo/scripts/mboxconvert.py

(limited to 'AppPkg/Applications/Python/Python-2.7.2/Demo/scripts/mboxconvert.py')

diff --git a/AppPkg/Applications/Python/Python-2.7.2/Demo/scripts/mboxconvert.py b/AppPkg/Applications/Python/Python-2.7.2/Demo/scripts/mboxconvert.py
new file mode 100644
index 0000000000..41d59d62a4
--- /dev/null
+++ b/AppPkg/Applications/Python/Python-2.7.2/Demo/scripts/mboxconvert.py
@@ -0,0 +1,124 @@
+#! /usr/bin/env python
+
+# Convert  MH directories (1 message per file) or MMDF mailboxes (4x^A
+# delimited) to unix mailbox (From ... delimited) on stdout.
+# If -f is given, files contain one message per file (e.g. MH messages)
+
+import rfc822
+import sys
+import time
+import os
+import stat
+import getopt
+import re
+
+def main():
+    dofile = mmdf
+    try:
+        opts, args = getopt.getopt(sys.argv[1:], 'f')
+    except getopt.error, msg:
+        sys.stderr.write('%s\n' % msg)
+        sys.exit(2)
+    for o, a in opts:
+        if o == '-f':
+            dofile = message
+    if not args:
+        args = ['-']
+    sts = 0
+    for arg in args:
+        if arg == '-' or arg == '':
+            sts = dofile(sys.stdin) or sts
+        elif os.path.isdir(arg):
+            sts = mh(arg) or sts
+        elif os.path.isfile(arg):
+            try:
+                f = open(arg)
+            except IOError, msg:
+                sys.stderr.write('%s: %s\n' % (arg, msg))
+                sts = 1
+                continue
+            sts = dofile(f) or sts
+            f.close()
+        else:
+            sys.stderr.write('%s: not found\n' % arg)
+            sts = 1
+    if sts:
+        sys.exit(sts)
+
+numeric = re.compile('[1-9][0-9]*')
+
+def mh(dir):
+    sts = 0
+    msgs = os.listdir(dir)
+    for msg in msgs:
+        if numeric.match(msg) != len(msg):
+            continue
+        fn = os.path.join(dir, msg)
+        try:
+            f = open(fn)
+        except IOError, msg:
+            sys.stderr.write('%s: %s\n' % (fn, msg))
+            sts = 1
+            continue
+        sts = message(f) or sts
+    return sts
+
+def mmdf(f):
+    sts = 0
+    while 1:
+        line = f.readline()
+        if not line:
+            break
+        if line == '\1\1\1\1\n':
+            sts = message(f, line) or sts
+        else:
+            sys.stderr.write(
+                    'Bad line in MMFD mailbox: %r\n' % (line,))
+    return sts
+
+counter = 0 # for generating unique Message-ID headers
+
+def message(f, delimiter = ''):
+    sts = 0
+    # Parse RFC822 header
+    m = rfc822.Message(f)
+    # Write unix header line
+    fullname, email = m.getaddr('From')
+    tt = m.getdate('Date')
+    if tt:
+        t = time.mktime(tt)
+    else:
+        sys.stderr.write(
+                'Unparseable date: %r\n' % (m.getheader('Date'),))
+        t = os.fstat(f.fileno())[stat.ST_MTIME]
+    print 'From', email, time.ctime(t)
+    # Copy RFC822 header
+    for line in m.headers:
+        print line,
+    # Invent Message-ID header if none is present
+    if not m.has_key('message-id'):
+        global counter
+        counter = counter + 1
+        msgid = "<%s.%d>" % (hex(t), counter)
+        sys.stderr.write("Adding Message-ID %s (From %s)\n" %
+                         (msgid, email))
+        print "Message-ID:", msgid
+    print
+    # Copy body
+    while 1:
+        line = f.readline()
+        if line == delimiter:
+            break
+        if not line:
+            sys.stderr.write('Unexpected EOF in message\n')
+            sts = 1
+            break
+        if line[:5] == 'From ':
+            line = '>' + line
+        print line,
+    # Print trailing newline
+    print
+    return sts
+
+if __name__ == "__main__":
+    main()
-- 
cgit v1.2.3