cpython/Doc/library/mhlib.rst

208 lines
3.9 KiB
ReStructuredText
Raw Normal View History

2007-08-15 11:28:01 -03:00
:mod:`mhlib` --- Access to MH mailboxes
=======================================
.. module:: mhlib
:synopsis: Manipulate MH mailboxes from Python.
:deprecated:
Merged revisions 68133-68134,68141-68142,68145-68146,68148-68149,68159-68162,68166,68171-68174,68179,68195-68196,68210,68214-68215,68217-68222 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r68133 | antoine.pitrou | 2009-01-01 16:38:03 +0100 (Thu, 01 Jan 2009) | 1 line fill in actual issue number in tests ........ r68134 | hirokazu.yamamoto | 2009-01-01 16:45:39 +0100 (Thu, 01 Jan 2009) | 2 lines Issue #4797: IOError.filename was not set when _fileio.FileIO failed to open file with `str' filename on Windows. ........ r68141 | benjamin.peterson | 2009-01-01 17:43:12 +0100 (Thu, 01 Jan 2009) | 1 line fix highlighting ........ r68142 | benjamin.peterson | 2009-01-01 18:29:49 +0100 (Thu, 01 Jan 2009) | 2 lines welcome to 2009, Python! ........ r68145 | amaury.forgeotdarc | 2009-01-02 01:03:54 +0100 (Fri, 02 Jan 2009) | 5 lines #4801 _collections module fails to build on cygwin. _PyObject_GC_TRACK is the macro version of PyObject_GC_Track, and according to documentation it should not be used for extension modules. ........ r68146 | ronald.oussoren | 2009-01-02 11:44:46 +0100 (Fri, 02 Jan 2009) | 2 lines Fix for issue4472: "configure --enable-shared doesn't work on OSX" ........ r68148 | ronald.oussoren | 2009-01-02 11:48:31 +0100 (Fri, 02 Jan 2009) | 2 lines Forgot to add a NEWS item in my previous checkin ........ r68149 | ronald.oussoren | 2009-01-02 11:50:48 +0100 (Fri, 02 Jan 2009) | 2 lines Fix for issue4780 ........ r68159 | ronald.oussoren | 2009-01-02 15:48:17 +0100 (Fri, 02 Jan 2009) | 2 lines Fix for issue 1627952 ........ r68160 | ronald.oussoren | 2009-01-02 15:52:09 +0100 (Fri, 02 Jan 2009) | 2 lines Fix for issue r1737832 ........ r68161 | ronald.oussoren | 2009-01-02 16:00:05 +0100 (Fri, 02 Jan 2009) | 3 lines Fix for issue 1149804 ........ r68162 | ronald.oussoren | 2009-01-02 16:06:00 +0100 (Fri, 02 Jan 2009) | 3 lines Fix for issue 4472 is incompatible with Cygwin, this patch should fix that. ........ r68166 | benjamin.peterson | 2009-01-02 19:26:23 +0100 (Fri, 02 Jan 2009) | 1 line document PyMemberDef ........ r68171 | georg.brandl | 2009-01-02 21:25:14 +0100 (Fri, 02 Jan 2009) | 3 lines #4811: fix markup glitches (mostly remains of the conversion), found by Gabriel Genellina. ........ r68172 | martin.v.loewis | 2009-01-02 21:32:55 +0100 (Fri, 02 Jan 2009) | 2 lines Issue #4075: Use OutputDebugStringW in Py_FatalError. ........ r68173 | martin.v.loewis | 2009-01-02 21:40:14 +0100 (Fri, 02 Jan 2009) | 2 lines Issue #4051: Prevent conflict of UNICODE macros in cPickle. ........ r68174 | benjamin.peterson | 2009-01-02 21:47:27 +0100 (Fri, 02 Jan 2009) | 1 line fix compilation on non-Windows platforms ........ r68179 | raymond.hettinger | 2009-01-02 22:26:45 +0100 (Fri, 02 Jan 2009) | 1 line Issue #4615. Document how to use itertools for de-duping. ........ r68195 | georg.brandl | 2009-01-03 14:45:15 +0100 (Sat, 03 Jan 2009) | 2 lines Remove useless string literal. ........ r68196 | georg.brandl | 2009-01-03 15:29:53 +0100 (Sat, 03 Jan 2009) | 2 lines Fix indentation. ........ r68210 | georg.brandl | 2009-01-03 20:10:12 +0100 (Sat, 03 Jan 2009) | 2 lines Set eol-style correctly for mp_distributing.py. ........ r68214 | georg.brandl | 2009-01-03 20:44:48 +0100 (Sat, 03 Jan 2009) | 2 lines Make indentation consistent. ........ r68215 | georg.brandl | 2009-01-03 21:15:14 +0100 (Sat, 03 Jan 2009) | 2 lines Fix role name. ........ r68217 | georg.brandl | 2009-01-03 21:30:15 +0100 (Sat, 03 Jan 2009) | 2 lines Add rstlint, a little tool to find subtle markup problems and inconsistencies in the Doc sources. ........ r68218 | georg.brandl | 2009-01-03 21:38:59 +0100 (Sat, 03 Jan 2009) | 2 lines Recognize usage of the default role. ........ r68219 | georg.brandl | 2009-01-03 21:47:01 +0100 (Sat, 03 Jan 2009) | 2 lines Fix uses of the default role. ........ r68220 | georg.brandl | 2009-01-03 21:55:06 +0100 (Sat, 03 Jan 2009) | 2 lines Remove trailing whitespace. ........ r68221 | georg.brandl | 2009-01-03 22:04:55 +0100 (Sat, 03 Jan 2009) | 2 lines Remove tabs from the documentation. ........ r68222 | georg.brandl | 2009-01-03 22:11:58 +0100 (Sat, 03 Jan 2009) | 2 lines Disable the line length checker by default. ........
2009-01-03 17:55:17 -04:00
.. deprecated:: 2.6
The :mod:`mhlib` module has been removed in Python 3.0. Use the
:mod:`mailbox` instead.
2007-12-29 06:57:00 -04:00
.. sectionauthor:: Skip Montanaro <skip@pobox.com>
2007-08-15 11:28:01 -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).