2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
:mod:`mhlib` --- Access to MH mailboxes
|
|
|
|
=======================================
|
|
|
|
|
|
|
|
.. module:: mhlib
|
|
|
|
:synopsis: Manipulate MH mailboxes from Python.
|
|
|
|
|
|
|
|
|
|
|
|
.. % LaTeX'ized from the comments in the module by Skip Montanaro
|
Merged revisions 59407-59422 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r59407 | armin.rigo | 2007-12-07 20:19:55 +0100 (Fri, 07 Dec 2007) | 2 lines
This is probably what was meant here.
........
r59410 | guido.van.rossum | 2007-12-08 05:38:23 +0100 (Sat, 08 Dec 2007) | 2 lines
Be (just a bit :) more specific about release date.
........
r59411 | alexandre.vassalotti | 2007-12-08 05:49:22 +0100 (Sat, 08 Dec 2007) | 3 lines
Fix issue #1530.
Return an error exit status if not all tests passes.
........
r59413 | georg.brandl | 2007-12-08 11:56:39 +0100 (Sat, 08 Dec 2007) | 2 lines
Fix tpyo.
........
r59414 | georg.brandl | 2007-12-08 12:05:05 +0100 (Sat, 08 Dec 2007) | 2 lines
Fix markup in whatsnew, use new directive in ACKS.
........
r59415 | georg.brandl | 2007-12-08 12:05:36 +0100 (Sat, 08 Dec 2007) | 2 lines
Fix Eren's name.
........
r59416 | georg.brandl | 2007-12-08 12:23:13 +0100 (Sat, 08 Dec 2007) | 2 lines
Add examples to the datetime documentation. Written for GHOP by "h4wk.cz".
........
r59417 | skip.montanaro | 2007-12-08 15:37:43 +0100 (Sat, 08 Dec 2007) | 2 lines
Note that open() is the preferred way to open files (issue 1510).
........
r59418 | skip.montanaro | 2007-12-08 16:23:31 +0100 (Sat, 08 Dec 2007) | 1 line
+ "context manager"
........
r59419 | skip.montanaro | 2007-12-08 16:26:16 +0100 (Sat, 08 Dec 2007) | 1 line
correct email address
........
r59420 | skip.montanaro | 2007-12-08 16:33:24 +0100 (Sat, 08 Dec 2007) | 3 lines
When splitting, avoid making a copy of the string if the split doesn't find
anything (issue 1538).
........
2007-12-08 13:28:33 -04:00
|
|
|
.. % <skip@pobox.com>.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
The :mod:`mhlib` module provides a Python interface to MH folders and their
|
|
|
|
contents.
|
|
|
|
|
|
|
|
The module contains three basic classes, :class:`MH`, which represents a
|
|
|
|
particular collection of folders, :class:`Folder`, which represents a single
|
|
|
|
folder, and :class:`Message`, which represents a single message.
|
|
|
|
|
|
|
|
|
|
|
|
.. class:: MH([path[, profile]])
|
|
|
|
|
|
|
|
:class:`MH` represents a collection of MH folders.
|
|
|
|
|
|
|
|
|
|
|
|
.. class:: Folder(mh, name)
|
|
|
|
|
|
|
|
The :class:`Folder` class represents a single folder and its messages.
|
|
|
|
|
|
|
|
|
|
|
|
.. class:: Message(folder, number[, name])
|
|
|
|
|
|
|
|
:class:`Message` objects represent individual messages in a folder. The Message
|
|
|
|
class is derived from :class:`mimetools.Message`.
|
|
|
|
|
|
|
|
|
|
|
|
.. _mh-objects:
|
|
|
|
|
|
|
|
MH Objects
|
|
|
|
----------
|
|
|
|
|
|
|
|
:class:`MH` instances have the following methods:
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: MH.error(format[, ...])
|
|
|
|
|
|
|
|
Print an error message -- can be overridden.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: MH.getprofile(key)
|
|
|
|
|
|
|
|
Return a profile entry (``None`` if not set).
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: MH.getpath()
|
|
|
|
|
|
|
|
Return the mailbox pathname.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: MH.getcontext()
|
|
|
|
|
|
|
|
Return the current folder name.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: MH.setcontext(name)
|
|
|
|
|
|
|
|
Set the current folder name.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: MH.listfolders()
|
|
|
|
|
|
|
|
Return a list of top-level folders.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: MH.listallfolders()
|
|
|
|
|
|
|
|
Return a list of all folders.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: MH.listsubfolders(name)
|
|
|
|
|
|
|
|
Return a list of direct subfolders of the given folder.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: MH.listallsubfolders(name)
|
|
|
|
|
|
|
|
Return a list of all subfolders of the given folder.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: MH.makefolder(name)
|
|
|
|
|
|
|
|
Create a new folder.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: MH.deletefolder(name)
|
|
|
|
|
|
|
|
Delete a folder -- must have no subfolders.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: MH.openfolder(name)
|
|
|
|
|
|
|
|
Return a new open folder object.
|
|
|
|
|
|
|
|
|
|
|
|
.. _mh-folder-objects:
|
|
|
|
|
|
|
|
Folder Objects
|
|
|
|
--------------
|
|
|
|
|
|
|
|
:class:`Folder` instances represent open folders and have the following methods:
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: Folder.error(format[, ...])
|
|
|
|
|
|
|
|
Print an error message -- can be overridden.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: Folder.getfullname()
|
|
|
|
|
|
|
|
Return the folder's full pathname.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: Folder.getsequencesfilename()
|
|
|
|
|
|
|
|
Return the full pathname of the folder's sequences file.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: Folder.getmessagefilename(n)
|
|
|
|
|
|
|
|
Return the full pathname of message *n* of the folder.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: Folder.listmessages()
|
|
|
|
|
|
|
|
Return a list of messages in the folder (as numbers).
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: Folder.getcurrent()
|
|
|
|
|
|
|
|
Return the current message number.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: Folder.setcurrent(n)
|
|
|
|
|
|
|
|
Set the current message number to *n*.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: Folder.parsesequence(seq)
|
|
|
|
|
|
|
|
Parse msgs syntax into list of messages.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: Folder.getlast()
|
|
|
|
|
|
|
|
Get last message, or ``0`` if no messages are in the folder.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: Folder.setlast(n)
|
|
|
|
|
|
|
|
Set last message (internal use only).
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: Folder.getsequences()
|
|
|
|
|
|
|
|
Return dictionary of sequences in folder. The sequence names are used as keys,
|
|
|
|
and the values are the lists of message numbers in the sequences.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: Folder.putsequences(dict)
|
|
|
|
|
|
|
|
Return dictionary of sequences in folder name: list.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: Folder.removemessages(list)
|
|
|
|
|
|
|
|
Remove messages in list from folder.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: Folder.refilemessages(list, tofolder)
|
|
|
|
|
|
|
|
Move messages in list to other folder.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: Folder.movemessage(n, tofolder, ton)
|
|
|
|
|
|
|
|
Move one message to a given destination in another folder.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: Folder.copymessage(n, tofolder, ton)
|
|
|
|
|
|
|
|
Copy one message to a given destination in another folder.
|
|
|
|
|
|
|
|
|
|
|
|
.. _mh-message-objects:
|
|
|
|
|
|
|
|
Message Objects
|
|
|
|
---------------
|
|
|
|
|
|
|
|
The :class:`Message` class adds one method to those of
|
|
|
|
:class:`mimetools.Message`:
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: Message.openmessage(n)
|
|
|
|
|
|
|
|
Return a new open message object (costs a file descriptor).
|
|
|
|
|