33from __future__ import print_function
44
55import os
6- import sys
76import tempfile
8- import traceback
97import webbrowser
108
119import binascii
12- import jsonpickle
1310import pyqrcode
1411import requests
1512import mimetypes
1613import json
1714import xml .dom .minidom
18- import urllib
1915import time
2016import re
2117import random
22- from traceback import format_exc
2318from requests .exceptions import ConnectionError , ReadTimeout
2419
2520import sys
@@ -1149,51 +1144,6 @@ def search_content(key, content, fmat='attr'):
11491144 return pm .group (1 )
11501145 return 'unknown'
11511146
1152- def save_to_file (self ):
1153- with open (os .path .join (self .temp_pwd , 'session_state.json' ), 'w' ) as fp :
1154- json .dump ({
1155- 'uuid' : self .uuid ,
1156- 'base_uri' : self .base_uri ,
1157- 'base_host' : self .base_host ,
1158- 'redirect_uri' : self .redirect_uri ,
1159- 'uin' : self .uin ,
1160- 'sid' : self .sid ,
1161- 'skey' : self .skey ,
1162- 'pass_ticket' : self .pass_ticket ,
1163- 'device_id' : self .device_id ,
1164- 'base_request' : self .base_request ,
1165- 'session' : jsonpickle .encode (self .session ),
1166- }, fp )
1167-
1168- def load_from_file (self ):
1169- if not os .path .exists (self .state_file ):
1170- return False
1171-
1172- try :
1173- with open (self .state_file ) as fp :
1174- state = json .load (fp )
1175- self .uuid = state ['uuid' ]
1176- self .base_uri = state ['base_uri' ]
1177- self .base_host = state ['base_host' ]
1178- self .redirect_uri = state ['redirect_uri' ]
1179- self .uin = state ['uin' ]
1180- self .sid = state ['sid' ]
1181- self .skey = state ['skey' ]
1182- self .pass_ticket = state ['pass_ticket' ]
1183- self .device_id = state ['device_id' ]
1184- self .base_request = state ['base_request' ]
1185- self .session = jsonpickle .decode (state ['session' ])
1186- except :
1187- log .info ("Failed to load from local file" )
1188- return False
1189-
1190- if self .init ():
1191- log .info ('Web WeChat init succeed .' )
1192- return True
1193- else :
1194- log .info ('Web WeChat init failed' )
1195- return False
1196-
11971147 def login (self ):
11981148 self .get_uuid ()
11991149 self .gen_qr_code (os .path .join (self .temp_pwd ,'wxqr.png' ))
@@ -1212,15 +1162,14 @@ def login(self):
12121162
12131163 if self .init ():
12141164 log .info ('Web WeChat init succeed .' )
1215- self .save_to_file ()
12161165 return True
12171166 else :
12181167 log .error ('Web WeChat init failed' )
12191168 return False
12201169
12211170 def run (self ):
1222- if not self .load_from_file () and not self . login ():
1223- log .error ('Both recovered login status and fresh login are failed.' )
1171+ if not self .login ():
1172+ log .error ('login failed.' )
12241173 return False
12251174
12261175 self .status_notify ()
0 commit comments