(self, part, preferencelist)
| 1019 | return False if c_d is None else c_d.content_disposition == 'attachment' |
| 1020 | |
| 1021 | def _find_body(self, part, preferencelist): |
| 1022 | if part.is_attachment(): |
| 1023 | return |
| 1024 | maintype, subtype = part.get_content_type().split('/') |
| 1025 | if maintype == 'text': |
| 1026 | if subtype in preferencelist: |
| 1027 | yield (preferencelist.index(subtype), part) |
| 1028 | return |
| 1029 | if maintype != 'multipart' or not self.is_multipart(): |
| 1030 | return |
| 1031 | if subtype != 'related': |
| 1032 | for subpart in part.iter_parts(): |
| 1033 | yield from self._find_body(subpart, preferencelist) |
| 1034 | return |
| 1035 | if 'related' in preferencelist: |
| 1036 | yield (preferencelist.index('related'), part) |
| 1037 | candidate = None |
| 1038 | start = part.get_param('start') |
| 1039 | if start: |
| 1040 | for subpart in part.iter_parts(): |
| 1041 | if subpart['content-id'] == start: |
| 1042 | candidate = subpart |
| 1043 | break |
| 1044 | if candidate is None: |
| 1045 | subparts = part.get_payload() |
| 1046 | candidate = subparts[0] if subparts else None |
| 1047 | if candidate is not None: |
| 1048 | yield from self._find_body(candidate, preferencelist) |
| 1049 | |
| 1050 | def get_body(self, preferencelist=('related', 'html', 'plain')): |
| 1051 | """Return best candidate mime part for display as 'body' of message. |
no test coverage detected