old_contents: #!/usr/bin/env python
  
  """Unpack a MIME message into a directory of files."""
  
  import os
  import sys
  import email
  import errno
  import mimetypes
  
  from optparse import OptionParser
  
  
  def main():
      parser = OptionParser(usage="""\
  Unpack a MIME message into a directory of files.
  
  Usage: %prog [options] msgfile
  """)
      parser.add_option('-d', '--directory',
                        type='string', action='store',
                        help="""Unpack the MIME message into the named
                        directory, which will be created if it doesn't already
                        exist.""")
      opts, args = parser.parse_args()
      if not opts.directory:
          parser.print_help()
          sys.exit(1)
  
      try:
          msgfile = args[0]
      except IndexError:
          parser.print_help()
          sys.exit(1)
  
      try:
          os.mkdir(opts.directory)
      except OSError, e:
          # Ignore directory exists error
          if e.errno <> errno.EEXIST:
              raise
  
      fp = open(msgfile)
      msg = email.message_from_file(fp)
      fp.close()
  
      counter = 1
      for part in msg.walk():
          # multipart/* are just containers
          if part.get_content_maintype() == 'multipart':
              continue
          # Applications should really sanitize the given filename so that an
          # email message can't be used to overwrite important files
          filename = part.get_filename()
          if not filename:
              ext = mimetypes.guess_extension(part.get_type())
              if not ext:
                  # Use a generic bag-of-bits extension
                  ext = '.bin'
              filename = 'part-%03d%s' % (counter, ext)
          counter += 1
          fp = open(os.path.join(opts.directory, filename), 'wb')
          fp.write(part.get_payload(decode=True))
          fp.close()
  
  
  if __name__ == '__main__':
      main()
  
new_contents: #!/usr/bin/env python
  
  """Unpack a MIME message into a directory of files."""
  
  import os
  import sys
  import email
  import errno
  import mimetypes
  
  from optparse import OptionParser
  
  
  def main():
      parser = OptionParser(usage="""\
  Unpack a MIME message into a directory of files.
  
  Usage: %prog [options] msgfile
  """)
      parser.add_option('-d', '--directory',
                        type='string', action='store',
                        help="""Unpack the MIME message into the named
                        directory, which will be created if it doesn't already
                        exist.""")
      opts, args = parser.parse_args()
      if not opts.directory:
          parser.print_help()
          sys.exit(1)
  
      try:
          msgfile = args[0]
      except IndexError:
          parser.print_help()
          sys.exit(1)
  
      try:
          os.mkdir(opts.directory)
      except OSError, e:
          # Ignore directory exists error
          if e.errno <> errno.EEXIST:
              raise
  
      fp = open(msgfile)
      msg = email.message_from_file(fp)
      fp.close()
  
      counter = 1
      for part in msg.walk():
          # multipart/* are just containers
          if part.get_content_maintype() == 'multipart':
              continue
          # Applications should really sanitize the given filename so that an
          # email message can't be used to overwrite important files
          filename = part.get_filename()
          if not filename:
              ext = mimetypes.guess_extension(part.get_content_type())
              if not ext:
                  # Use a generic bag-of-bits extension
                  ext = '.bin'
              filename = 'part-%03d%s' % (counter, ext)
          counter += 1
          fp = open(os.path.join(opts.directory, filename), 'wb')
          fp.write(part.get_payload(decode=True))
          fp.close()
  
  
  if __name__ == '__main__':
      main()
  
subject: Fix email example.