MCPcopy Index your code
hub / github.com/RustPython/RustPython / MHMessage

Class MHMessage

Lib/mailbox.py:1827–1896  ·  view source on GitHub ↗

Message with MH-specific properties.

Source from the content-addressed store, hash-verified

1825
1826
1827class MHMessage(Message):
1828 """Message with MH-specific properties."""
1829
1830 _type_specific_attributes = ['_sequences']
1831
1832 def __init__(self, message=None):
1833 """Initialize an MHMessage instance."""
1834 self._sequences = []
1835 Message.__init__(self, message)
1836
1837 def get_sequences(self):
1838 """Return a list of sequences that include the message."""
1839 return self._sequences[:]
1840
1841 def set_sequences(self, sequences):
1842 """Set the list of sequences that include the message."""
1843 self._sequences = list(sequences)
1844
1845 def add_sequence(self, sequence):
1846 """Add sequence to list of sequences including the message."""
1847 if isinstance(sequence, str):
1848 if not sequence in self._sequences:
1849 self._sequences.append(sequence)
1850 else:
1851 raise TypeError('sequence type must be str: %s' % type(sequence))
1852
1853 def remove_sequence(self, sequence):
1854 """Remove sequence from the list of sequences including the message."""
1855 try:
1856 self._sequences.remove(sequence)
1857 except ValueError:
1858 pass
1859
1860 def _explain_to(self, message):
1861 """Copy MH-specific state to message insofar as possible."""
1862 if isinstance(message, MaildirMessage):
1863 sequences = set(self.get_sequences())
1864 if 'unseen' in sequences:
1865 message.set_subdir('cur')
1866 else:
1867 message.set_subdir('cur')
1868 message.add_flag('S')
1869 if 'flagged' in sequences:
1870 message.add_flag('F')
1871 if 'replied' in sequences:
1872 message.add_flag('R')
1873 elif isinstance(message, _mboxMMDFMessage):
1874 sequences = set(self.get_sequences())
1875 if 'unseen' not in sequences:
1876 message.add_flag('RO')
1877 else:
1878 message.add_flag('O')
1879 if 'flagged' in sequences:
1880 message.add_flag('F')
1881 if 'replied' in sequences:
1882 message.add_flag('A')
1883 elif isinstance(message, MHMessage):
1884 for sequence in self.get_sequences():

Callers 1

get_messageMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected