By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
445,771 Members | 1,669 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 445,771 IT Pros & Developers. It's quick & easy.

how to change a factory use of rfc822.Message to mhlib.Message

P: n/a
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?

Thanks
Jul 18 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
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
Jul 18 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.