how to change a factory use of rfc822.Message to mhlib.Message
Steve Holden
sholden at holdenweb.com
Mon Aug 30 20:09:41 EDT 2004
John Doe wrote:
> I've never used a factory and would like to get some help.
> The class
> mailbox.UnixMailbox has a defination for a factory.
>
> __init__(self, fp, factory=<class rfc822.Message>)
>
> where fp is a file pointer.
>
> I don't want to use rfc822.Message. I'd like to use mhlib.Message instead.
>
> rfc822.Message requires:
> __init__(self, fp, seekable=1)
>
> mhlib.Message requires:
> __init__(self, f, n, fp=None)
>
> where f think the is a folder name. I've seen '.' used.
> (The documentation is very unclear here). And 'n' is the seekable.
>
> How do I call mailbox.UnixMailbox( fp ... ) with mhlib.Message?
You'll need to write a "wrapper" class or function around mhlib.Message
to make it look sufficiently similar to rfc822.Message. Then you provide
the wrapper as the factory argument when you create your UnixMailbox.
Clearly the __init__() signature of whatever factory you provide has to
match that of rfc822.Message otherwise you'll get an error when the
mailbox code tries to create a message instance.
regards
Steve
More information about the Python-list
mailing list