(self, msgitems, savepic=False, savefile=False, savevoice=False)
| 63 | return ParseMessage(Msg, MsgItem, self) |
| 64 | |
| 65 | def _getmsgs(self, msgitems, savepic=False, savefile=False, savevoice=False): |
| 66 | msgs = [] |
| 67 | for MsgItem in msgitems: |
| 68 | if MsgItem.ControlTypeName == 'ListItemControl': |
| 69 | msgs.append(self._split(MsgItem)) |
| 70 | |
| 71 | msgtypes = [ |
| 72 | f"[{self._lang('图片')}]", |
| 73 | f"[{self._lang('文件')}]", |
| 74 | f"[{self._lang('语音')}]", |
| 75 | ] |
| 76 | |
| 77 | if not [i for i in msgs if i.content[:4] in msgtypes]: |
| 78 | return msgs |
| 79 | |
| 80 | for msg in msgs: |
| 81 | if msg.type not in ('friend', 'self'): |
| 82 | continue |
| 83 | if msg.content.startswith(f"[{self._lang('图片')}]") and savepic: |
| 84 | imgpath = self._download_pic(msg.control) |
| 85 | msg.content = imgpath if imgpath else msg.content |
| 86 | elif msg.content.startswith(f"[{self._lang('文件')}]") and savefile: |
| 87 | filepath = self._download_file(msg.control) |
| 88 | msg.content = filepath if filepath else msg.content |
| 89 | elif msg.content.startswith(f"[{self._lang('语音')}]") and savevoice: |
| 90 | voice_text = self._get_voice_text(msg.control) |
| 91 | msg.content = voice_text if voice_text else msg.content |
| 92 | msg.info[1] = msg.content |
| 93 | return msgs |
| 94 | |
| 95 | def _download_pic(self, msgitem): |
| 96 | self._show() |
no test coverage detected