Copy mbox- or MMDF-specific state to message insofar as possible.
(self, message)
| 1776 | self.set_flags(''.join(set(self.get_flags()) - set(flag))) |
| 1777 | |
| 1778 | def _explain_to(self, message): |
| 1779 | """Copy mbox- or MMDF-specific state to message insofar as possible.""" |
| 1780 | if isinstance(message, MaildirMessage): |
| 1781 | flags = set(self.get_flags()) |
| 1782 | if 'O' in flags: |
| 1783 | message.set_subdir('cur') |
| 1784 | if 'F' in flags: |
| 1785 | message.add_flag('F') |
| 1786 | if 'A' in flags: |
| 1787 | message.add_flag('R') |
| 1788 | if 'R' in flags: |
| 1789 | message.add_flag('S') |
| 1790 | if 'D' in flags: |
| 1791 | message.add_flag('T') |
| 1792 | del message['status'] |
| 1793 | del message['x-status'] |
| 1794 | maybe_date = ' '.join(self.get_from().split()[-5:]) |
| 1795 | try: |
| 1796 | message.set_date(calendar.timegm(time.strptime(maybe_date, |
| 1797 | '%a %b %d %H:%M:%S %Y'))) |
| 1798 | except (ValueError, OverflowError): |
| 1799 | pass |
| 1800 | elif isinstance(message, _mboxMMDFMessage): |
| 1801 | message.set_flags(self.get_flags()) |
| 1802 | message.set_from(self.get_from()) |
| 1803 | elif isinstance(message, MHMessage): |
| 1804 | flags = set(self.get_flags()) |
| 1805 | if 'R' not in flags: |
| 1806 | message.add_sequence('unseen') |
| 1807 | if 'A' in flags: |
| 1808 | message.add_sequence('replied') |
| 1809 | if 'F' in flags: |
| 1810 | message.add_sequence('flagged') |
| 1811 | del message['status'] |
| 1812 | del message['x-status'] |
| 1813 | elif isinstance(message, BabylMessage): |
| 1814 | flags = set(self.get_flags()) |
| 1815 | if 'R' not in flags: |
| 1816 | message.add_label('unseen') |
| 1817 | if 'D' in flags: |
| 1818 | message.add_label('deleted') |
| 1819 | if 'A' in flags: |
| 1820 | message.add_label('answered') |
| 1821 | del message['status'] |
| 1822 | del message['x-status'] |
| 1823 | elif isinstance(message, Message): |
| 1824 | pass |
| 1825 | else: |
| 1826 | raise TypeError('Cannot convert to specified type: %s' % |
| 1827 | type(message)) |
| 1828 | |
| 1829 | |
| 1830 | class mboxMessage(_mboxMMDFMessage): |
nothing calls this directly
no test coverage detected