mirror of
https://github.com/zhayujie/chatgpt-on-wechat.git
synced 2026-02-28 08:41:21 +08:00
feat: intergrate itchat to lib
This commit is contained in:
67
lib/itchat/returnvalues.py
Normal file
67
lib/itchat/returnvalues.py
Normal file
@@ -0,0 +1,67 @@
|
||||
#coding=utf8
|
||||
TRANSLATE = 'Chinese'
|
||||
|
||||
class ReturnValue(dict):
|
||||
''' turn return value of itchat into a boolean value
|
||||
for requests:
|
||||
..code::python
|
||||
|
||||
import requests
|
||||
r = requests.get('http://httpbin.org/get')
|
||||
print(ReturnValue(rawResponse=r)
|
||||
|
||||
for normal dict:
|
||||
..code::python
|
||||
|
||||
returnDict = {
|
||||
'BaseResponse': {
|
||||
'Ret': 0,
|
||||
'ErrMsg': 'My error msg', }, }
|
||||
print(ReturnValue(returnDict))
|
||||
'''
|
||||
def __init__(self, returnValueDict={}, rawResponse=None):
|
||||
if rawResponse:
|
||||
try:
|
||||
returnValueDict = rawResponse.json()
|
||||
except ValueError:
|
||||
returnValueDict = {
|
||||
'BaseResponse': {
|
||||
'Ret': -1004,
|
||||
'ErrMsg': 'Unexpected return value', },
|
||||
'Data': rawResponse.content, }
|
||||
for k, v in returnValueDict.items():
|
||||
self[k] = v
|
||||
if not 'BaseResponse' in self:
|
||||
self['BaseResponse'] = {
|
||||
'ErrMsg': 'no BaseResponse in raw response',
|
||||
'Ret': -1000, }
|
||||
if TRANSLATE:
|
||||
self['BaseResponse']['RawMsg'] = self['BaseResponse'].get('ErrMsg', '')
|
||||
self['BaseResponse']['ErrMsg'] = \
|
||||
TRANSLATION[TRANSLATE].get(
|
||||
self['BaseResponse'].get('Ret', '')) \
|
||||
or self['BaseResponse'].get('ErrMsg', u'No ErrMsg')
|
||||
self['BaseResponse']['RawMsg'] = \
|
||||
self['BaseResponse']['RawMsg'] or self['BaseResponse']['ErrMsg']
|
||||
def __nonzero__(self):
|
||||
return self['BaseResponse'].get('Ret') == 0
|
||||
def __bool__(self):
|
||||
return self.__nonzero__()
|
||||
def __str__(self):
|
||||
return '{%s}' % ', '.join(
|
||||
['%s: %s' % (repr(k),repr(v)) for k,v in self.items()])
|
||||
def __repr__(self):
|
||||
return '<ItchatReturnValue: %s>' % self.__str__()
|
||||
|
||||
TRANSLATION = {
|
||||
'Chinese': {
|
||||
-1000: u'返回值不带BaseResponse',
|
||||
-1001: u'无法找到对应的成员',
|
||||
-1002: u'文件位置错误',
|
||||
-1003: u'服务器拒绝连接',
|
||||
-1004: u'服务器返回异常值',
|
||||
-1005: u'参数错误',
|
||||
-1006: u'无效操作',
|
||||
0: u'请求成功',
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user