12.10.2 MultiFile Example

import mimetools
import multifile
import StringIO

def extract_mime_part_matching(stream, mimetype):
    """Restituisce il primo elemento di un messaggio MIME multiparte
    con mimetype corrispondente al mimetype sul flusso stream.""" 

    msg = mimetools.Message(stream)
    msgtype = msg.gettype()
    params = msg.getplist()

    data = StringIO.StringIO()
    if msgtype[:10] == "multipart/":

        file = multifile.MultiFile(stream)
        file.push(msg.getparam("boundary"))
        while file.next():
            submsg = mimetools.Message(file)
            try:
                data = StringIO.StringIO()
                mimetools.decode(file, data, submsg.getencoding())
            except ValueError:
                continue
            if submsg.gettype() == mimetype:
                break
        file.pop()
    return data.getvalue()
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.