MCPcopy Create free account
hub / github.com/RT-Thread/env-windows / MHMessage

Class MHMessage

tools/python-3.11.9-amd64/Lib/mailbox.py:1753–1822  ·  view source on GitHub ↗

Message with MH-specific properties.

Source from the content-addressed store, hash-verified

1751
1752
1753class MHMessage(Message):
1754 """Message with MH-specific properties."""
1755
1756 _type_specific_attributes = ['_sequences']
1757
1758 def __init__(self, message=None):
1759 """Initialize an MHMessage instance."""
1760 self._sequences = []
1761 Message.__init__(self, message)
1762
1763 def get_sequences(self):
1764 """Return a list of sequences that include the message."""
1765 return self._sequences[:]
1766
1767 def set_sequences(self, sequences):
1768 """Set the list of sequences that include the message."""
1769 self._sequences = list(sequences)
1770
1771 def add_sequence(self, sequence):
1772 """Add sequence to list of sequences including the message."""
1773 if isinstance(sequence, str):
1774 if not sequence in self._sequences:
1775 self._sequences.append(sequence)
1776 else:
1777 raise TypeError('sequence type must be str: %s' % type(sequence))
1778
1779 def remove_sequence(self, sequence):
1780 """Remove sequence from the list of sequences including the message."""
1781 try:
1782 self._sequences.remove(sequence)
1783 except ValueError:
1784 pass
1785
1786 def _explain_to(self, message):
1787 """Copy MH-specific state to message insofar as possible."""
1788 if isinstance(message, MaildirMessage):
1789 sequences = set(self.get_sequences())
1790 if 'unseen' in sequences:
1791 message.set_subdir('cur')
1792 else:
1793 message.set_subdir('cur')
1794 message.add_flag('S')
1795 if 'flagged' in sequences:
1796 message.add_flag('F')
1797 if 'replied' in sequences:
1798 message.add_flag('R')
1799 elif isinstance(message, _mboxMMDFMessage):
1800 sequences = set(self.get_sequences())
1801 if 'unseen' not in sequences:
1802 message.add_flag('RO')
1803 else:
1804 message.add_flag('O')
1805 if 'flagged' in sequences:
1806 message.add_flag('F')
1807 if 'replied' in sequences:
1808 message.add_flag('A')
1809 elif isinstance(message, MHMessage):
1810 for sequence in self.get_sequences():

Callers 1

get_messageMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected