cpython/Doc/library/mhlib.rst
Christian Heimes 5b5e81c637 Merged revisions 59605-59624 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r59606 | georg.brandl | 2007-12-29 11:57:00 +0100 (Sat, 29 Dec 2007) | 2 lines

  Some cleanup in the docs.
........
  r59611 | martin.v.loewis | 2007-12-29 19:49:21 +0100 (Sat, 29 Dec 2007) | 2 lines

  Bug #1699: Define _BSD_SOURCE only on OpenBSD.
........
  r59612 | raymond.hettinger | 2007-12-29 23:09:34 +0100 (Sat, 29 Dec 2007) | 1 line

  Simpler documentation for itertools.tee().  Should be backported.
........
  r59613 | raymond.hettinger | 2007-12-29 23:16:24 +0100 (Sat, 29 Dec 2007) | 1 line

  Improve docs for itertools.groupby().  The use of xrange(0) to create a unique object is less obvious than object().
........
  r59620 | christian.heimes | 2007-12-31 15:47:07 +0100 (Mon, 31 Dec 2007) | 3 lines

  Added wininst-9.0.exe executable for VS 2008
  Integrated bdist_wininst into PCBuild9 directory
........
  r59621 | christian.heimes | 2007-12-31 15:51:18 +0100 (Mon, 31 Dec 2007) | 1 line

  Moved PCbuild directory to PC/VS7.1
........
  r59622 | christian.heimes | 2007-12-31 15:59:26 +0100 (Mon, 31 Dec 2007) | 1 line

  Fix paths for build bot
........
  r59623 | christian.heimes | 2007-12-31 16:02:41 +0100 (Mon, 31 Dec 2007) | 1 line

  Fix paths for build bot, part 2
........
  r59624 | christian.heimes | 2007-12-31 16:18:55 +0100 (Mon, 31 Dec 2007) | 1 line

  Renamed PCBuild9 directory to PCBuild
........
2007-12-31 16:14:33 +00:00

202 lines
3.7 KiB
ReStructuredText

:mod:`mhlib` --- Access to MH mailboxes
=======================================
.. module:: mhlib
:synopsis: Manipulate MH mailboxes from Python.
.. sectionauthor:: Skip Montanaro <skip@pobox.com>
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).