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

Method _explain_to

Lib/mailbox.py:1673–1714  ·  view source on GitHub ↗

Copy Maildir-specific state to message insofar as possible.

(self, message)

Source from the content-addressed store, hash-verified

1671 raise TypeError('info must be a string: %s' % type(info))
1672
1673 def _explain_to(self, message):
1674 """Copy Maildir-specific state to message insofar as possible."""
1675 if isinstance(message, MaildirMessage):
1676 message.set_flags(self.get_flags())
1677 message.set_subdir(self.get_subdir())
1678 message.set_date(self.get_date())
1679 elif isinstance(message, _mboxMMDFMessage):
1680 flags = set(self.get_flags())
1681 if 'S' in flags:
1682 message.add_flag('R')
1683 if self.get_subdir() == 'cur':
1684 message.add_flag('O')
1685 if 'T' in flags:
1686 message.add_flag('D')
1687 if 'F' in flags:
1688 message.add_flag('F')
1689 if 'R' in flags:
1690 message.add_flag('A')
1691 message.set_from('MAILER-DAEMON', time.gmtime(self.get_date()))
1692 elif isinstance(message, MHMessage):
1693 flags = set(self.get_flags())
1694 if 'S' not in flags:
1695 message.add_sequence('unseen')
1696 if 'R' in flags:
1697 message.add_sequence('replied')
1698 if 'F' in flags:
1699 message.add_sequence('flagged')
1700 elif isinstance(message, BabylMessage):
1701 flags = set(self.get_flags())
1702 if 'S' not in flags:
1703 message.add_label('unseen')
1704 if 'T' in flags:
1705 message.add_label('deleted')
1706 if 'R' in flags:
1707 message.add_label('answered')
1708 if 'P' in flags:
1709 message.add_label('forwarded')
1710 elif isinstance(message, Message):
1711 pass
1712 else:
1713 raise TypeError('Cannot convert to specified type: %s' %
1714 type(message))
1715
1716
1717class _mboxMMDFMessage(Message):

Callers

nothing calls this directly

Calls 11

get_flagsMethod · 0.95
get_subdirMethod · 0.95
get_dateMethod · 0.95
setFunction · 0.85
set_subdirMethod · 0.80
set_dateMethod · 0.80
set_fromMethod · 0.80
add_sequenceMethod · 0.80
add_labelMethod · 0.80
set_flagsMethod · 0.45
add_flagMethod · 0.45

Tested by

no test coverage detected