From 36385702d657c7557d8721fb106d0f3f4f7660b8 Mon Sep 17 00:00:00 2001 From: sbilly Date: Mon, 22 Feb 2016 10:34:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B6=88=E6=81=AF=E9=99=84?= =?UTF-8?q?=E4=BB=B6=E4=BF=9D=E5=AD=98=E7=9B=AE=E5=BD=95=E7=9A=84=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changes to be committed: modified: weixin.py --- weixin.py | 40 ++++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/weixin.py b/weixin.py index 4910b93..9884547 100755 --- a/weixin.py +++ b/weixin.py @@ -83,6 +83,10 @@ class WebWeixin(object): self.syncHost = '' self.user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36' self.interactive = False + self.autoOpen = False + self.appid = 'wx782c26e4c19acffb' + self.lang = 'zh_CN' + opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar())) opener.addheaders = [('User-agent', self.user_agent)] @@ -93,6 +97,7 @@ class WebWeixin(object): if config['autoReplyMode']: self.autoReplyMode = config['autoReplyMode'] if config['user_agent']: self.user_agent = config['user_agent'] if config['interactive']: self.interactive = config['interactive'] + if config['autoOpen']: self.autoOpen = config['autoOpen'] def getUUID(self): url = 'https://login.weixin.qq.com/jslogin' @@ -306,41 +311,47 @@ class WebWeixin(object): dic = r.json() return dic['BaseResponse']['Ret'] == 0 + def _saveFile(self, filename, data, api=None): + fn = filename + if self.saveSubFolders[api]: + dirName = os.path.join(self.saveFolder, self.saveSubFolders[api]) + if not os.path.exists(dirName): + os.makedirs(dirName) + fn = os.path.join(dirName, filename) + logging.debug('Saved file: %s' % fn) + with open(fn, 'wb') as f: f.write(data); f.close() + return fn + def webwxgeticon(self, id): url = self.base_uri + '/webwxgeticon?username=%s&skey=%s' % (id, self.skey) data = self._get(url) fn = 'img_'+id+'.jpg' - with open(fn, 'wb') as f: f.write(data) - return fn + return self._saveFile(fn, data, 'webwxgeticon') def webwxgetheadimg(self, id): url = self.base_uri + '/webwxgetheadimg?username=%s&skey=%s' % (id, self.skey) data = self._get(url) fn = 'img_'+id+'.jpg' - with open(fn, 'wb') as f: f.write(data) - return fn + return self._saveFile(fn, data, 'webwxgetheadimg') def webwxgetmsgimg(self, msgid): url = self.base_uri + '/webwxgetmsgimg?MsgID=%s&skey=%s' % (msgid, self.skey) data = self._get(url) fn = 'img_'+msgid+'.jpg' - with open(fn, 'wb') as f: f.write(data) - return fn + return self._saveFile(fn, data, 'webwxgetmsgimg') # Not work now for weixin haven't support this API def webwxgetvideo(self, msgid): url = self.base_uri + '/webwxgetvideo?msgid=%s&skey=%s' % (msgid, self.skey) data = self._get(url, api='webwxgetvideo') fn = 'video_'+msgid+'.mp4' - with open(fn, 'wb') as f: f.write(data) - return fn + return self._saveFile(fn, data, 'webwxgetvideo') def webwxgetvoice(self, msgid): url = self.base_uri + '/webwxgetvoice?msgid=%s&skey=%s' % (msgid, self.skey) data = self._get(url) fn = 'voice_'+msgid+'.mp3' - with open(fn, 'wb') as f: f.write(data) - return fn + return self._saveFile(fn, data, 'webwxgetvoice') def getUserRemarkName(self, id): name = '未知群' if id[:2] == '@@' else '陌生人' @@ -560,10 +571,11 @@ class WebWeixin(object): logging.debug('发送图片') def _safe_open(self, path): - if platform.system() == "Linux": - os.system("xdg-open %s &" % path) - else: - os.system('open %s &' % path) + if self.autoOpen: + if platform.system() == "Linux": + os.system("xdg-open %s &" % path) + else: + os.system('open %s &' % path) def _run(self, str, func, *args): self._echo(str)