| 706 | return [retcode, selector] |
| 707 | |
| 708 | def sync(self): |
| 709 | url = self.base_uri + '/webwxsync?sid=%s&skey=%s&lang=en_US&pass_ticket=%s' \ |
| 710 | % (self.sid, self.skey, self.pass_ticket) |
| 711 | params = { |
| 712 | 'BaseRequest': self.base_request, |
| 713 | 'SyncKey': self.sync_key, |
| 714 | 'rr': ~int(time.time()) |
| 715 | } |
| 716 | try: |
| 717 | r = self.session.post(url, data=json.dumps(params)) |
| 718 | except (ConnectionError, ReadTimeout): |
| 719 | return None |
| 720 | r.encoding = 'utf-8' |
| 721 | dic = json.loads(r.text) |
| 722 | if dic['BaseResponse']['Ret'] == 0: |
| 723 | self.sync_key = dic['SyncKey'] |
| 724 | self.sync_key_str = '|'.join([str(keyVal['Key']) + '_' + str(keyVal['Val']) |
| 725 | for keyVal in self.sync_key['List']]) |
| 726 | return dic |
| 727 | |
| 728 | def get_icon(self, uid): |
| 729 | url = self.base_uri + '/webwxgeticon?username=%s&skey=%s' % (uid, self.skey) |