18.5. mhlib — Access to MH mailboxes

Deprecated since version 2.6: The mhlib module has been removed in Python 3. Use the mailbox instead.

The mhlib module provides a Python interface to MH folders and their contents.

The module contains three basic classes, MH, which represents a particular collection of folders, Folder, which represents a single folder, and Message, which represents a single message.

  • class mhlib. MH ( [ path [, profile ] ] )

    • MH represents a collection of MH folders.
  • class mhlib. Folder ( mh , name )

    • The Folder class represents a single folder and its messages.
  • class mhlib. Message ( folder , number [, name ] )

18.5.1. MH Objects

MH instances have the following methods:

  • MH. error ( format [, ... ] )

    • Print an error message – can be overridden.
  • MH. getprofile ( key )

    • Return a profile entry ( None if not set).
  • MH. getpath ( )

    • Return the mailbox pathname.
  • MH. getcontext ( )

    • Return the current folder name.
  • MH. setcontext ( name )

    • Set the current folder name.
  • MH. listfolders ( )

    • Return a list of top-level folders.
  • MH. listallfolders ( )

    • Return a list of all folders.
  • MH. listsubfolders ( name )

    • Return a list of direct subfolders of the given folder.
  • MH. listallsubfolders ( name )

    • Return a list of all subfolders of the given folder.
  • MH. makefolder ( name )

    • Create a new folder.
  • MH. deletefolder ( name )

    • Delete a folder – must have no subfolders.
  • MH. openfolder ( name )

    • Return a new open folder object.

18.5.2. Folder Objects

Folder instances represent open folders and have the following methods:

  • Folder. error ( format [, ... ] )

    • Print an error message – can be overridden.
  • Folder. getfullname ( )

    • Return the folder’s full pathname.
  • Folder. getsequencesfilename ( )

    • Return the full pathname of the folder’s sequences file.
  • Folder. getmessagefilename ( n )

    • Return the full pathname of message n of the folder.
  • Folder. listmessages ( )

    • Return a list of messages in the folder (as numbers).
  • Folder. getcurrent ( )

    • Return the current message number.
  • Folder. setcurrent ( n )

    • Set the current message number to n .
  • Folder. parsesequence ( seq )

    • Parse msgs syntax into list of messages.
  • Folder. getlast ( )

    • Get last message, or 0 if no messages are in the folder.
  • Folder. setlast ( n )

    • Set last message (internal use only).
  • 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.
  • Folder. putsequences ( dict )

    • Return dictionary of sequences in folder name: list.
  • Folder. removemessages ( list )

    • Remove messages in list from folder.
  • Folder. refilemessages ( list , tofolder )

    • Move messages in list to other folder.
  • Folder. movemessage ( n , tofolder , ton )

    • Move one message to a given destination in another folder.
  • Folder. copymessage ( n , tofolder , ton )

    • Copy one message to a given destination in another folder.

18.5.3. Message Objects

The Message class adds one method to those of mimetools.Message:

  • Message. openmessage ( n )
    • Return a new open message object (costs a file descriptor).