File tree 4 files changed +22
-8
lines changed
4 files changed +22
-8
lines changed Original file line number Diff line number Diff line change @@ -132,8 +132,9 @@ def update_local_chatrooms(core, l):
132
132
else :
133
133
oldMemberList .append (member )
134
134
else :
135
- oldChatroom = templates .wrap_user_dict (chatroom )
136
- core .chatroomList .append (oldChatroom )
135
+ core .chatroomList .append (chatroom )
136
+ oldChatroom = utils .search_dict_list (
137
+ core .chatroomList , 'UserName' , chatroom ['UserName' ])
137
138
# delete useless members
138
139
if len (chatroom ['MemberList' ]) != len (oldChatroom ['MemberList' ]) and \
139
140
chatroom ['MemberList' ]:
Original file line number Diff line number Diff line change @@ -246,8 +246,8 @@ def produce_group_chat(core, msg):
246
246
msg ['ActualNickName' ] = ''
247
247
msg ['IsAt' ] = False
248
248
else :
249
- msg ['ActualNickName' ] = member [ 'DisplayName' ] or member ['NickName' ]
250
- atFlag = '@' + chatroom ['Self' ].get ('DisplayName' , core .storageClass .nickName )
249
+ msg ['ActualNickName' ] = member . get ( 'DisplayName' , '' ) or member ['NickName' ]
250
+ atFlag = '@' + ( chatroom ['Self' ].get ('DisplayName' , '' ) or core .storageClass .nickName )
251
251
msg ['IsAt' ] = (
252
252
(atFlag + (u'\u2005 ' if u'\u2005 ' in msg ['Content' ] else ' ' ))
253
253
in msg ['Content' ] or msg ['Content' ].endswith (atFlag ))
Original file line number Diff line number Diff line change 1
1
import os , platform
2
2
3
- VERSION = '1.3.3 '
3
+ VERSION = '1.3.4 '
4
4
BASE_URL = 'https://login.weixin.qq.com'
5
5
OS = platform .system () #Windows, Linux, Darwin
6
6
DIR = os .getcwd ()
Original file line number Diff line number Diff line change
1
+ import logging
2
+
1
3
try :
2
4
import Queue as queue
3
5
except ImportError :
4
6
import queue
5
7
8
+ logger = logging .getLogger ('itchat' )
9
+
6
10
class Queue (queue .Queue ):
7
11
def put (self , message ):
8
- if 'IsAt' in message :
9
- message ['isAt' ] = message ['IsAt' ]
10
12
queue .Queue .put (self , Message (message ))
11
13
12
14
class Message (dict ):
@@ -17,7 +19,18 @@ def download(self, fileName):
17
19
return b''
18
20
def __getattr__ (self , value ):
19
21
value = value [0 ].upper () + value [1 :]
20
- return self .get (value , '' )
22
+ return self [value ]
23
+ def __getitem__ (self , value ):
24
+ if value in ('isAdmin' , 'isAt' ):
25
+ v = value [0 ].upper () + value [1 :] # ''[1:] == ''
26
+ logger .debug ('%s is expired in 1.3.0, use %s instead.' % (value , v ))
27
+ value = v
28
+ return super (Message , self ).__getitem__ (value )
29
+ def get (self , v , d = None ):
30
+ try :
31
+ return self [v ]
32
+ except KeyError :
33
+ return d
21
34
def __str__ (self ):
22
35
return '{%s}' % ', ' .join (
23
36
['%s: %s' % (repr (k ),repr (v )) for k ,v in self .items ()])
You can’t perform that action at this time.
0 commit comments