Skip to content

Commit e95cbb5

Browse files
支持python2和python3
1 parent bb33096 commit e95cbb5

File tree

3 files changed

+16
-15
lines changed

3 files changed

+16
-15
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ wxwork_pc_api 使用HOOK技术将核心功能封装成dll,并提供简易的
4343
- [Python调用介绍](doc/python.md)
4444

4545

46-
文档正在补充,具体使用可以暂时参考samples/python/demo.py, 如下是python封装后的调用
46+
具体使用可以暂时参考samples/python/demo.py, 如下是python封装后的调用
4747

4848
```python
4949
import wxwork

samples/python/demo.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def on_message(self, client_id, message_type, message_data):
3030

3131
# 如果是文本消息,就回复一条消息
3232
if message_type == MessageType.MT_RECV_TEXT_MSG:
33-
reply_content = '😂😂😂你发过来的消息是:{0}'.format(message_data['content'])
33+
reply_content = u'😂😂😂你发过来的消息是:{0}'.format(message_data['content'])
3434
time.sleep(2)
3535
wxwork_manager.send_text(client_id, message_data['conversation_id'], reply_content)
3636

samples/python/wxwork.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -110,15 +110,16 @@ def wxwork_close_callback(client_id):
110110

111111

112112
class REQUIRE_WXLOADER:
113-
def __init__(self, func):
114-
self.func = func
113+
def __call__(self, func):
115114

116-
def __get__(self, obj, cls):
115+
@wraps(func)
117116
def wrapper(*args, **kwargs):
117+
obj, args = args[0], args[1:]
118118
if obj.WXLOADER is not None:
119-
return self.func(obj, *args, **kwargs)
119+
120+
return func(obj, *args, **kwargs)
120121
else:
121-
logger.error("WxWorkApi未初始化或初始化失败")
122+
logger.error("WxWorkApi init failed")
122123
return wrapper
123124

124125

@@ -139,7 +140,7 @@ def __init__(self, libs_path, wxwork_exe_path=''):
139140
wxwork_loader_path = os.path.realpath(wxwork_loader_path)
140141

141142
if not os.path.exists(wxwork_loader_path):
142-
logger.error('libs目录错误,或dll文件不存在')
143+
logger.error('libs path error or WxWorkLoader not exist')
143144
return
144145

145146
self.WXLOADER = WinDLL(wxwork_loader_path)
@@ -152,39 +153,39 @@ def __init__(self, libs_path, wxwork_exe_path=''):
152153

153154
self.wxhelper_dll_path = '{0}/WxWorkHelper_{1}.dll'.format(libs_path, self.get_user_wxwork_version())
154155
if not os.path.exists(self.wxhelper_dll_path):
155-
logger.error('lib文件:%s不存在', self.wxhelper_dll_path);
156+
logger.error('lib file:%s not exist', self.wxhelper_dll_path);
156157
return
157158

158159
if wxwork_exe_path != '' and not os.path.exists(wxwork_exe_path):
159-
logger.warning('WXWork.exe路径是否设置正确?')
160+
logger.warning('WXWork.exe is the path set correctly?')
160161

161162
self.wxwork_exe_path = wxwork_exe_path
162163

163164
def add_callback_handler(self, callback_handler):
164165
add_callback_handler(callback_handler)
165166

166-
@REQUIRE_WXLOADER
167+
@REQUIRE_WXLOADER()
167168
def get_user_wxwork_version(self):
168169
out = create_string_buffer(20)
169170
self.WXLOADER.GetUserWxWorkVersion(out)
170171
return out.value.decode('utf-8')
171172

172-
@REQUIRE_WXLOADER
173+
@REQUIRE_WXLOADER()
173174
def manager_wxwork(self, smart=True):
174175
if smart:
175176
return self.WXLOADER.InjectWxWork(c_string(self.wxhelper_dll_path), c_string(self.wxwork_exe_path))
176177
else:
177178
return self.WXLOADER.InjectWxWorkMultiOpen(c_string(self.wxhelper_dll_path), c_string(self.wxwork_exe_path))
178179

179-
@REQUIRE_WXLOADER
180+
@REQUIRE_WXLOADER()
180181
def manager_wxwork_by_pid(self, wxwork_pid):
181182
return self.WXLOADER.InjectWxWorkPid(wxwork_pid, c_string(self.wxhelper_dll_path))
182183

183-
@REQUIRE_WXLOADER
184+
@REQUIRE_WXLOADER()
184185
def close_manager():
185186
return self.WXLOADER.DestroyWxWork()
186187

187-
@REQUIRE_WXLOADER
188+
@REQUIRE_WXLOADER()
188189
def send_message(self, client_id, message_type, params):
189190
send_data = {
190191
'type': message_type,

0 commit comments

Comments
 (0)