增加消息附件保存目录的设置
Changes to be committed: modified: weixin.py
This commit is contained in:
@@ -83,6 +83,10 @@ class WebWeixin(object):
|
|||||||
self.syncHost = ''
|
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.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.interactive = False
|
||||||
|
self.autoOpen = False
|
||||||
|
self.appid = 'wx782c26e4c19acffb'
|
||||||
|
self.lang = 'zh_CN'
|
||||||
|
|
||||||
|
|
||||||
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
|
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
|
||||||
opener.addheaders = [('User-agent', self.user_agent)]
|
opener.addheaders = [('User-agent', self.user_agent)]
|
||||||
@@ -93,6 +97,7 @@ class WebWeixin(object):
|
|||||||
if config['autoReplyMode']: self.autoReplyMode = config['autoReplyMode']
|
if config['autoReplyMode']: self.autoReplyMode = config['autoReplyMode']
|
||||||
if config['user_agent']: self.user_agent = config['user_agent']
|
if config['user_agent']: self.user_agent = config['user_agent']
|
||||||
if config['interactive']: self.interactive = config['interactive']
|
if config['interactive']: self.interactive = config['interactive']
|
||||||
|
if config['autoOpen']: self.autoOpen = config['autoOpen']
|
||||||
|
|
||||||
def getUUID(self):
|
def getUUID(self):
|
||||||
url = 'https://login.weixin.qq.com/jslogin'
|
url = 'https://login.weixin.qq.com/jslogin'
|
||||||
@@ -306,41 +311,47 @@ class WebWeixin(object):
|
|||||||
dic = r.json()
|
dic = r.json()
|
||||||
return dic['BaseResponse']['Ret'] == 0
|
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):
|
def webwxgeticon(self, id):
|
||||||
url = self.base_uri + '/webwxgeticon?username=%s&skey=%s' % (id, self.skey)
|
url = self.base_uri + '/webwxgeticon?username=%s&skey=%s' % (id, self.skey)
|
||||||
data = self._get(url)
|
data = self._get(url)
|
||||||
fn = 'img_'+id+'.jpg'
|
fn = 'img_'+id+'.jpg'
|
||||||
with open(fn, 'wb') as f: f.write(data)
|
return self._saveFile(fn, data, 'webwxgeticon')
|
||||||
return fn
|
|
||||||
|
|
||||||
def webwxgetheadimg(self, id):
|
def webwxgetheadimg(self, id):
|
||||||
url = self.base_uri + '/webwxgetheadimg?username=%s&skey=%s' % (id, self.skey)
|
url = self.base_uri + '/webwxgetheadimg?username=%s&skey=%s' % (id, self.skey)
|
||||||
data = self._get(url)
|
data = self._get(url)
|
||||||
fn = 'img_'+id+'.jpg'
|
fn = 'img_'+id+'.jpg'
|
||||||
with open(fn, 'wb') as f: f.write(data)
|
return self._saveFile(fn, data, 'webwxgetheadimg')
|
||||||
return fn
|
|
||||||
|
|
||||||
def webwxgetmsgimg(self, msgid):
|
def webwxgetmsgimg(self, msgid):
|
||||||
url = self.base_uri + '/webwxgetmsgimg?MsgID=%s&skey=%s' % (msgid, self.skey)
|
url = self.base_uri + '/webwxgetmsgimg?MsgID=%s&skey=%s' % (msgid, self.skey)
|
||||||
data = self._get(url)
|
data = self._get(url)
|
||||||
fn = 'img_'+msgid+'.jpg'
|
fn = 'img_'+msgid+'.jpg'
|
||||||
with open(fn, 'wb') as f: f.write(data)
|
return self._saveFile(fn, data, 'webwxgetmsgimg')
|
||||||
return fn
|
|
||||||
|
|
||||||
# Not work now for weixin haven't support this API
|
# Not work now for weixin haven't support this API
|
||||||
def webwxgetvideo(self, msgid):
|
def webwxgetvideo(self, msgid):
|
||||||
url = self.base_uri + '/webwxgetvideo?msgid=%s&skey=%s' % (msgid, self.skey)
|
url = self.base_uri + '/webwxgetvideo?msgid=%s&skey=%s' % (msgid, self.skey)
|
||||||
data = self._get(url, api='webwxgetvideo')
|
data = self._get(url, api='webwxgetvideo')
|
||||||
fn = 'video_'+msgid+'.mp4'
|
fn = 'video_'+msgid+'.mp4'
|
||||||
with open(fn, 'wb') as f: f.write(data)
|
return self._saveFile(fn, data, 'webwxgetvideo')
|
||||||
return fn
|
|
||||||
|
|
||||||
def webwxgetvoice(self, msgid):
|
def webwxgetvoice(self, msgid):
|
||||||
url = self.base_uri + '/webwxgetvoice?msgid=%s&skey=%s' % (msgid, self.skey)
|
url = self.base_uri + '/webwxgetvoice?msgid=%s&skey=%s' % (msgid, self.skey)
|
||||||
data = self._get(url)
|
data = self._get(url)
|
||||||
fn = 'voice_'+msgid+'.mp3'
|
fn = 'voice_'+msgid+'.mp3'
|
||||||
with open(fn, 'wb') as f: f.write(data)
|
return self._saveFile(fn, data, 'webwxgetvoice')
|
||||||
return fn
|
|
||||||
|
|
||||||
def getUserRemarkName(self, id):
|
def getUserRemarkName(self, id):
|
||||||
name = '未知群' if id[:2] == '@@' else '陌生人'
|
name = '未知群' if id[:2] == '@@' else '陌生人'
|
||||||
@@ -560,10 +571,11 @@ class WebWeixin(object):
|
|||||||
logging.debug('发送图片')
|
logging.debug('发送图片')
|
||||||
|
|
||||||
def _safe_open(self, path):
|
def _safe_open(self, path):
|
||||||
if platform.system() == "Linux":
|
if self.autoOpen:
|
||||||
os.system("xdg-open %s &" % path)
|
if platform.system() == "Linux":
|
||||||
else:
|
os.system("xdg-open %s &" % path)
|
||||||
os.system('open %s &' % path)
|
else:
|
||||||
|
os.system('open %s &' % path)
|
||||||
|
|
||||||
def _run(self, str, func, *args):
|
def _run(self, str, func, *args):
|
||||||
self._echo(str)
|
self._echo(str)
|
||||||
|
|||||||
Reference in New Issue
Block a user