Saved and restored logging._handlerList at the same time as saving/restoring logging...
[python.git] / Doc / lib / libmhlib.tex
blob3e706634bde3386e781c34386641f674d940a5dd
1 \section{\module{mhlib} ---
2 Access to MH mailboxes}
4 % LaTeX'ized from the comments in the module by Skip Montanaro
5 % <skip@mojam.com>.
7 \declaremodule{standard}{mhlib}
8 \modulesynopsis{Manipulate MH mailboxes from Python.}
11 The \module{mhlib} module provides a Python interface to MH folders and
12 their contents.
14 The module contains three basic classes, \class{MH}, which represents a
15 particular collection of folders, \class{Folder}, which represents a single
16 folder, and \class{Message}, which represents a single message.
19 \begin{classdesc}{MH}{\optional{path\optional{, profile}}}
20 \class{MH} represents a collection of MH folders.
21 \end{classdesc}
23 \begin{classdesc}{Folder}{mh, name}
24 The \class{Folder} class represents a single folder and its messages.
25 \end{classdesc}
27 \begin{classdesc}{Message}{folder, number\optional{, name}}
28 \class{Message} objects represent individual messages in a folder. The
29 Message class is derived from \class{mimetools.Message}.
30 \end{classdesc}
33 \subsection{MH Objects \label{mh-objects}}
35 \class{MH} instances have the following methods:
38 \begin{methoddesc}[MH]{error}{format\optional{, ...}}
39 Print an error message -- can be overridden.
40 \end{methoddesc}
42 \begin{methoddesc}[MH]{getprofile}{key}
43 Return a profile entry (\code{None} if not set).
44 \end{methoddesc}
46 \begin{methoddesc}[MH]{getpath}{}
47 Return the mailbox pathname.
48 \end{methoddesc}
50 \begin{methoddesc}[MH]{getcontext}{}
51 Return the current folder name.
52 \end{methoddesc}
54 \begin{methoddesc}[MH]{setcontext}{name}
55 Set the current folder name.
56 \end{methoddesc}
58 \begin{methoddesc}[MH]{listfolders}{}
59 Return a list of top-level folders.
60 \end{methoddesc}
62 \begin{methoddesc}[MH]{listallfolders}{}
63 Return a list of all folders.
64 \end{methoddesc}
66 \begin{methoddesc}[MH]{listsubfolders}{name}
67 Return a list of direct subfolders of the given folder.
68 \end{methoddesc}
70 \begin{methoddesc}[MH]{listallsubfolders}{name}
71 Return a list of all subfolders of the given folder.
72 \end{methoddesc}
74 \begin{methoddesc}[MH]{makefolder}{name}
75 Create a new folder.
76 \end{methoddesc}
78 \begin{methoddesc}[MH]{deletefolder}{name}
79 Delete a folder -- must have no subfolders.
80 \end{methoddesc}
82 \begin{methoddesc}[MH]{openfolder}{name}
83 Return a new open folder object.
84 \end{methoddesc}
88 \subsection{Folder Objects \label{mh-folder-objects}}
90 \class{Folder} instances represent open folders and have the following
91 methods:
94 \begin{methoddesc}[Folder]{error}{format\optional{, ...}}
95 Print an error message -- can be overridden.
96 \end{methoddesc}
98 \begin{methoddesc}[Folder]{getfullname}{}
99 Return the folder's full pathname.
100 \end{methoddesc}
102 \begin{methoddesc}[Folder]{getsequencesfilename}{}
103 Return the full pathname of the folder's sequences file.
104 \end{methoddesc}
106 \begin{methoddesc}[Folder]{getmessagefilename}{n}
107 Return the full pathname of message \var{n} of the folder.
108 \end{methoddesc}
110 \begin{methoddesc}[Folder]{listmessages}{}
111 Return a list of messages in the folder (as numbers).
112 \end{methoddesc}
114 \begin{methoddesc}[Folder]{getcurrent}{}
115 Return the current message number.
116 \end{methoddesc}
118 \begin{methoddesc}[Folder]{setcurrent}{n}
119 Set the current message number to \var{n}.
120 \end{methoddesc}
122 \begin{methoddesc}[Folder]{parsesequence}{seq}
123 Parse msgs syntax into list of messages.
124 \end{methoddesc}
126 \begin{methoddesc}[Folder]{getlast}{}
127 Get last message, or \code{0} if no messages are in the folder.
128 \end{methoddesc}
130 \begin{methoddesc}[Folder]{setlast}{n}
131 Set last message (internal use only).
132 \end{methoddesc}
134 \begin{methoddesc}[Folder]{getsequences}{}
135 Return dictionary of sequences in folder. The sequence names are used
136 as keys, and the values are the lists of message numbers in the
137 sequences.
138 \end{methoddesc}
140 \begin{methoddesc}[Folder]{putsequences}{dict}
141 Return dictionary of sequences in folder {name: list}.
142 \end{methoddesc}
144 \begin{methoddesc}[Folder]{removemessages}{list}
145 Remove messages in list from folder.
146 \end{methoddesc}
148 \begin{methoddesc}[Folder]{refilemessages}{list, tofolder}
149 Move messages in list to other folder.
150 \end{methoddesc}
152 \begin{methoddesc}[Folder]{movemessage}{n, tofolder, ton}
153 Move one message to a given destination in another folder.
154 \end{methoddesc}
156 \begin{methoddesc}[Folder]{copymessage}{n, tofolder, ton}
157 Copy one message to a given destination in another folder.
158 \end{methoddesc}
161 \subsection{Message Objects \label{mh-message-objects}}
163 The \class{Message} class adds one method to those of
164 \class{mimetools.Message}:
166 \begin{methoddesc}[Message]{openmessage}{n}
167 Return a new open message object (costs a file descriptor).
168 \end{methoddesc}