blob: 3e706634bde3386e781c34386641f674d940a5dd [file] [log] [blame]
Fred Drake658cef01999-03-15 15:44:18 +00001\section{\module{mhlib} ---
Fred Drakeeea97ea1999-04-23 16:07:38 +00002 Access to MH mailboxes}
Fred Drake658cef01999-03-15 15:44:18 +00003
Fred Drake38e5d272000-04-03 20:13:55 +00004% LaTeX'ized from the comments in the module by Skip Montanaro
5% <skip@mojam.com>.
6
Fred Drake658cef01999-03-15 15:44:18 +00007\declaremodule{standard}{mhlib}
8\modulesynopsis{Manipulate MH mailboxes from Python.}
9
10
11The \module{mhlib} module provides a Python interface to MH folders and
12their contents.
13
14The module contains three basic classes, \class{MH}, which represents a
15particular collection of folders, \class{Folder}, which represents a single
16folder, and \class{Message}, which represents a single message.
17
18
19\begin{classdesc}{MH}{\optional{path\optional{, profile}}}
20\class{MH} represents a collection of MH folders.
21\end{classdesc}
22
23\begin{classdesc}{Folder}{mh, name}
24The \class{Folder} class represents a single folder and its messages.
25\end{classdesc}
26
27\begin{classdesc}{Message}{folder, number\optional{, name}}
28\class{Message} objects represent individual messages in a folder. The
29Message class is derived from \class{mimetools.Message}.
30\end{classdesc}
31
32
33\subsection{MH Objects \label{mh-objects}}
34
35\class{MH} instances have the following methods:
36
37
38\begin{methoddesc}[MH]{error}{format\optional{, ...}}
39Print an error message -- can be overridden.
40\end{methoddesc}
41
42\begin{methoddesc}[MH]{getprofile}{key}
43Return a profile entry (\code{None} if not set).
44\end{methoddesc}
45
46\begin{methoddesc}[MH]{getpath}{}
47Return the mailbox pathname.
48\end{methoddesc}
49
50\begin{methoddesc}[MH]{getcontext}{}
51Return the current folder name.
52\end{methoddesc}
53
54\begin{methoddesc}[MH]{setcontext}{name}
55Set the current folder name.
56\end{methoddesc}
57
58\begin{methoddesc}[MH]{listfolders}{}
59Return a list of top-level folders.
60\end{methoddesc}
61
62\begin{methoddesc}[MH]{listallfolders}{}
63Return a list of all folders.
64\end{methoddesc}
65
66\begin{methoddesc}[MH]{listsubfolders}{name}
67Return a list of direct subfolders of the given folder.
68\end{methoddesc}
69
70\begin{methoddesc}[MH]{listallsubfolders}{name}
71Return a list of all subfolders of the given folder.
72\end{methoddesc}
73
74\begin{methoddesc}[MH]{makefolder}{name}
75Create a new folder.
76\end{methoddesc}
77
78\begin{methoddesc}[MH]{deletefolder}{name}
79Delete a folder -- must have no subfolders.
80\end{methoddesc}
81
82\begin{methoddesc}[MH]{openfolder}{name}
83Return a new open folder object.
84\end{methoddesc}
85
86
87
88\subsection{Folder Objects \label{mh-folder-objects}}
89
90\class{Folder} instances represent open folders and have the following
91methods:
92
93
94\begin{methoddesc}[Folder]{error}{format\optional{, ...}}
95Print an error message -- can be overridden.
96\end{methoddesc}
97
98\begin{methoddesc}[Folder]{getfullname}{}
99Return the folder's full pathname.
100\end{methoddesc}
101
102\begin{methoddesc}[Folder]{getsequencesfilename}{}
103Return the full pathname of the folder's sequences file.
104\end{methoddesc}
105
106\begin{methoddesc}[Folder]{getmessagefilename}{n}
107Return the full pathname of message \var{n} of the folder.
108\end{methoddesc}
109
110\begin{methoddesc}[Folder]{listmessages}{}
111Return a list of messages in the folder (as numbers).
112\end{methoddesc}
113
114\begin{methoddesc}[Folder]{getcurrent}{}
115Return the current message number.
116\end{methoddesc}
117
118\begin{methoddesc}[Folder]{setcurrent}{n}
119Set the current message number to \var{n}.
120\end{methoddesc}
121
122\begin{methoddesc}[Folder]{parsesequence}{seq}
123Parse msgs syntax into list of messages.
124\end{methoddesc}
125
126\begin{methoddesc}[Folder]{getlast}{}
127Get last message, or \code{0} if no messages are in the folder.
128\end{methoddesc}
129
130\begin{methoddesc}[Folder]{setlast}{n}
131Set last message (internal use only).
132\end{methoddesc}
133
134\begin{methoddesc}[Folder]{getsequences}{}
135Return dictionary of sequences in folder. The sequence names are used
136as keys, and the values are the lists of message numbers in the
137sequences.
138\end{methoddesc}
139
140\begin{methoddesc}[Folder]{putsequences}{dict}
141Return dictionary of sequences in folder {name: list}.
142\end{methoddesc}
143
144\begin{methoddesc}[Folder]{removemessages}{list}
145Remove messages in list from folder.
146\end{methoddesc}
147
148\begin{methoddesc}[Folder]{refilemessages}{list, tofolder}
149Move messages in list to other folder.
150\end{methoddesc}
151
152\begin{methoddesc}[Folder]{movemessage}{n, tofolder, ton}
153Move one message to a given destination in another folder.
154\end{methoddesc}
155
156\begin{methoddesc}[Folder]{copymessage}{n, tofolder, ton}
157Copy one message to a given destination in another folder.
158\end{methoddesc}
159
160
161\subsection{Message Objects \label{mh-message-objects}}
162
Fred Drakeeea97ea1999-04-23 16:07:38 +0000163The \class{Message} class adds one method to those of
164\class{mimetools.Message}:
165
Fred Drake658cef01999-03-15 15:44:18 +0000166\begin{methoddesc}[Message]{openmessage}{n}
167Return a new open message object (costs a file descriptor).
168\end{methoddesc}