MCPcopy Index your code
hub / github.com/python/cpython / MHMessage

Class MHMessage

Lib/mailbox.py:1834–1903  ·  view source on GitHub ↗

Message with MH-specific properties.

Source from the content-addressed store, hash-verified

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

Callers 1

get_messageMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…