| Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 1 | :mod:`mhlib` --- Access to MH mailboxes | 
 | 2 | ======================================= | 
 | 3 |  | 
 | 4 | .. module:: mhlib | 
 | 5 |    :synopsis: Manipulate MH mailboxes from Python. | 
| Brett Cannon | 2a86913 | 2008-05-11 03:01:47 +0000 | [diff] [blame] | 6 |    :deprecated: | 
| Georg Brandl | c62ef8b | 2009-01-03 20:55:06 +0000 | [diff] [blame] | 7 |  | 
| Brett Cannon | 2a86913 | 2008-05-11 03:01:47 +0000 | [diff] [blame] | 8 | .. deprecated:: 2.6 | 
 | 9 |     The :mod:`mhlib` module has been removed in Python 3.0. Use the | 
 | 10 |     :mod:`mailbox` instead. | 
 | 11 |  | 
| Georg Brandl | b19be57 | 2007-12-29 10:57:00 +0000 | [diff] [blame] | 12 | .. sectionauthor:: Skip Montanaro <skip@pobox.com> | 
| Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 13 |  | 
 | 14 | The :mod:`mhlib` module provides a Python interface to MH folders and their | 
 | 15 | contents. | 
 | 16 |  | 
 | 17 | The module contains three basic classes, :class:`MH`, which represents a | 
 | 18 | particular collection of folders, :class:`Folder`, which represents a single | 
 | 19 | folder, and :class:`Message`, which represents a single message. | 
 | 20 |  | 
 | 21 |  | 
 | 22 | .. class:: MH([path[, profile]]) | 
 | 23 |  | 
 | 24 |    :class:`MH` represents a collection of MH folders. | 
 | 25 |  | 
 | 26 |  | 
 | 27 | .. class:: Folder(mh, name) | 
 | 28 |  | 
 | 29 |    The :class:`Folder` class represents a single folder and its messages. | 
 | 30 |  | 
 | 31 |  | 
 | 32 | .. class:: Message(folder, number[, name]) | 
 | 33 |  | 
 | 34 |    :class:`Message` objects represent individual messages in a folder.  The Message | 
 | 35 |    class is derived from :class:`mimetools.Message`. | 
 | 36 |  | 
 | 37 |  | 
 | 38 | .. _mh-objects: | 
 | 39 |  | 
 | 40 | MH Objects | 
 | 41 | ---------- | 
 | 42 |  | 
 | 43 | :class:`MH` instances have the following methods: | 
 | 44 |  | 
 | 45 |  | 
 | 46 | .. method:: MH.error(format[, ...]) | 
 | 47 |  | 
 | 48 |    Print an error message -- can be overridden. | 
 | 49 |  | 
 | 50 |  | 
 | 51 | .. method:: MH.getprofile(key) | 
 | 52 |  | 
 | 53 |    Return a profile entry (``None`` if not set). | 
 | 54 |  | 
 | 55 |  | 
 | 56 | .. method:: MH.getpath() | 
 | 57 |  | 
 | 58 |    Return the mailbox pathname. | 
 | 59 |  | 
 | 60 |  | 
 | 61 | .. method:: MH.getcontext() | 
 | 62 |  | 
 | 63 |    Return the current folder name. | 
 | 64 |  | 
 | 65 |  | 
 | 66 | .. method:: MH.setcontext(name) | 
 | 67 |  | 
 | 68 |    Set the current folder name. | 
 | 69 |  | 
 | 70 |  | 
 | 71 | .. method:: MH.listfolders() | 
 | 72 |  | 
 | 73 |    Return a list of top-level folders. | 
 | 74 |  | 
 | 75 |  | 
 | 76 | .. method:: MH.listallfolders() | 
 | 77 |  | 
 | 78 |    Return a list of all folders. | 
 | 79 |  | 
 | 80 |  | 
 | 81 | .. method:: MH.listsubfolders(name) | 
 | 82 |  | 
 | 83 |    Return a list of direct subfolders of the given folder. | 
 | 84 |  | 
 | 85 |  | 
 | 86 | .. method:: MH.listallsubfolders(name) | 
 | 87 |  | 
 | 88 |    Return a list of all subfolders of the given folder. | 
 | 89 |  | 
 | 90 |  | 
 | 91 | .. method:: MH.makefolder(name) | 
 | 92 |  | 
 | 93 |    Create a new folder. | 
 | 94 |  | 
 | 95 |  | 
 | 96 | .. method:: MH.deletefolder(name) | 
 | 97 |  | 
 | 98 |    Delete a folder -- must have no subfolders. | 
 | 99 |  | 
 | 100 |  | 
 | 101 | .. method:: MH.openfolder(name) | 
 | 102 |  | 
 | 103 |    Return a new open folder object. | 
 | 104 |  | 
 | 105 |  | 
 | 106 | .. _mh-folder-objects: | 
 | 107 |  | 
 | 108 | Folder Objects | 
 | 109 | -------------- | 
 | 110 |  | 
 | 111 | :class:`Folder` instances represent open folders and have the following methods: | 
 | 112 |  | 
 | 113 |  | 
 | 114 | .. method:: Folder.error(format[, ...]) | 
 | 115 |  | 
 | 116 |    Print an error message -- can be overridden. | 
 | 117 |  | 
 | 118 |  | 
 | 119 | .. method:: Folder.getfullname() | 
 | 120 |  | 
 | 121 |    Return the folder's full pathname. | 
 | 122 |  | 
 | 123 |  | 
 | 124 | .. method:: Folder.getsequencesfilename() | 
 | 125 |  | 
 | 126 |    Return the full pathname of the folder's sequences file. | 
 | 127 |  | 
 | 128 |  | 
 | 129 | .. method:: Folder.getmessagefilename(n) | 
 | 130 |  | 
 | 131 |    Return the full pathname of message *n* of the folder. | 
 | 132 |  | 
 | 133 |  | 
 | 134 | .. method:: Folder.listmessages() | 
 | 135 |  | 
 | 136 |    Return a list of messages in the folder (as numbers). | 
 | 137 |  | 
 | 138 |  | 
 | 139 | .. method:: Folder.getcurrent() | 
 | 140 |  | 
 | 141 |    Return the current message number. | 
 | 142 |  | 
 | 143 |  | 
 | 144 | .. method:: Folder.setcurrent(n) | 
 | 145 |  | 
 | 146 |    Set the current message number to *n*. | 
 | 147 |  | 
 | 148 |  | 
 | 149 | .. method:: Folder.parsesequence(seq) | 
 | 150 |  | 
 | 151 |    Parse msgs syntax into list of messages. | 
 | 152 |  | 
 | 153 |  | 
 | 154 | .. method:: Folder.getlast() | 
 | 155 |  | 
 | 156 |    Get last message, or ``0`` if no messages are in the folder. | 
 | 157 |  | 
 | 158 |  | 
 | 159 | .. method:: Folder.setlast(n) | 
 | 160 |  | 
 | 161 |    Set last message (internal use only). | 
 | 162 |  | 
 | 163 |  | 
 | 164 | .. method:: Folder.getsequences() | 
 | 165 |  | 
 | 166 |    Return dictionary of sequences in folder.  The sequence names are used  as keys, | 
 | 167 |    and the values are the lists of message numbers in the sequences. | 
 | 168 |  | 
 | 169 |  | 
 | 170 | .. method:: Folder.putsequences(dict) | 
 | 171 |  | 
 | 172 |    Return dictionary of sequences in folder name: list. | 
 | 173 |  | 
 | 174 |  | 
 | 175 | .. method:: Folder.removemessages(list) | 
 | 176 |  | 
 | 177 |    Remove messages in list from folder. | 
 | 178 |  | 
 | 179 |  | 
 | 180 | .. method:: Folder.refilemessages(list, tofolder) | 
 | 181 |  | 
 | 182 |    Move messages in list to other folder. | 
 | 183 |  | 
 | 184 |  | 
 | 185 | .. method:: Folder.movemessage(n, tofolder, ton) | 
 | 186 |  | 
 | 187 |    Move one message to a given destination in another folder. | 
 | 188 |  | 
 | 189 |  | 
 | 190 | .. method:: Folder.copymessage(n, tofolder, ton) | 
 | 191 |  | 
 | 192 |    Copy one message to a given destination in another folder. | 
 | 193 |  | 
 | 194 |  | 
 | 195 | .. _mh-message-objects: | 
 | 196 |  | 
 | 197 | Message Objects | 
 | 198 | --------------- | 
 | 199 |  | 
 | 200 | The :class:`Message` class adds one method to those of | 
 | 201 | :class:`mimetools.Message`: | 
 | 202 |  | 
 | 203 |  | 
 | 204 | .. method:: Message.openmessage(n) | 
 | 205 |  | 
 | 206 |    Return a new open message object (costs a file descriptor). | 
 | 207 |  |