Helpviewer/Passwords/PasswordManager.py

branch
Py2 comp.
changeset 3060
5883ce99ee12
parent 3058
0a02c433f52d
parent 3035
36e9f388958b
child 3080
6c0a430b19df
equal deleted inserted replaced
3058:0a02c433f52d 3060:5883ce99ee12
100 if not self.__loaded: 100 if not self.__loaded:
101 self.__load() 101 self.__load()
102 102
103 key = self.__createKey(url, realm) 103 key = self.__createKey(url, realm)
104 self.__logins[key] = ( 104 self.__logins[key] = (
105 username, 105 username,
106 Utilities.crypto.pwConvert(password, encode=True) 106 Utilities.crypto.pwConvert(password, encode=True)
107 ) 107 )
108 self.changed.emit() 108 self.changed.emit()
109 109
110 def __createKey(self, url, realm): 110 def __createKey(self, url, realm):
166 if reader.error() != QXmlStreamReader.NoError: 166 if reader.error() != QXmlStreamReader.NoError:
167 E5MessageBox.warning( 167 E5MessageBox.warning(
168 None, 168 None,
169 self.trUtf8("Loading login data"), 169 self.trUtf8("Loading login data"),
170 self.trUtf8("""Error when loading login data on""" 170 self.trUtf8("""Error when loading login data on"""
171 """ line {0}, column {1}:\n{2}""")\ 171 """ line {0}, column {1}:\n{2}""")
172 .format(reader.lineNumber(), 172 .format(reader.lineNumber(),
173 reader.columnNumber(), 173 reader.columnNumber(),
174 reader.errorString())) 174 reader.errorString()))
175 175
176 self.__loaded = True 176 self.__loaded = True
177 177
178 def __loadNonXml(self, loginFile): 178 def __loadNonXml(self, loginFile):
179 """ 179 """
193 E5MessageBox.critical( 193 E5MessageBox.critical(
194 None, 194 None,
195 self.trUtf8("Loading login data"), 195 self.trUtf8("Loading login data"),
196 self.trUtf8("""<p>Login data could not be loaded """ 196 self.trUtf8("""<p>Login data could not be loaded """
197 """from <b>{0}</b></p>""" 197 """from <b>{0}</b></p>"""
198 """<p>Reason: {1}</p>""")\ 198 """<p>Reason: {1}</p>""")
199 .format(loginFile, str(err))) 199 .format(loginFile, str(err)))
200 return 200 return
201 201
202 data = [] 202 data = []
203 section = 0 # 0 = login data, 1 = forms data, 203 section = 0 # 0 = login data, 1 = forms data,
204 # 2 = never store info 204 # 2 = never store info
219 None, 219 None,
220 self.trUtf8("Loading login data"), 220 self.trUtf8("Loading login data"),
221 self.trUtf8( 221 self.trUtf8(
222 """<p>Login data could not be loaded """ 222 """<p>Login data could not be loaded """
223 """from <b>{0}</b></p>""" 223 """from <b>{0}</b></p>"""
224 """<p>Reason: Wrong input format</p>""")\ 224 """<p>Reason: Wrong input format</p>""")
225 .format(loginFile)) 225 .format(loginFile))
226 return 226 return
227 self.__logins[data[0]] = (data[1], data[2]) 227 self.__logins[data[0]] = (data[1], data[2])
228 data = [] 228 data = []
229 229
230 elif section == 1: 230 elif section == 1:
355 if navType != QWebPage.NavigationTypeFormSubmitted: 355 if navType != QWebPage.NavigationTypeFormSubmitted:
356 return 356 return
357 357
358 # determine the QWebPage 358 # determine the QWebPage
359 webPage = request.attribute(QNetworkRequest.User + 100) 359 webPage = request.attribute(QNetworkRequest.User + 100)
360 if webPage is None: 360 if webPage is None:
361 return 361 return
362 362
363 # determine the requests content type 363 # determine the requests content type
364 contentTypeHeader = request.rawHeader("Content-Type") 364 contentTypeHeader = request.rawHeader("Content-Type")
365 if contentTypeHeader.isEmpty(): 365 if contentTypeHeader.isEmpty():
413 type_ = form.elementTypes[element[0]] 413 type_ = form.elementTypes[element[0]]
414 if user == "" and \ 414 if user == "" and \
415 type_ == "text": 415 type_ == "text":
416 user = element[1] 416 user = element[1]
417 elif password == "" and \ 417 elif password == "" and \
418 type_ == "password": 418 type_ == "password":
419 password = element[1] 419 password = element[1]
420 form.elements[index] = (element[0], "--PASSWORD--") 420 form.elements[index] = (element[0], "--PASSWORD--")
421 if user and password: 421 if user and password:
422 self.__logins[key] = \ 422 self.__logins[key] = \
423 (user, Utilities.crypto.pwConvert(password, encode=True)) 423 (user, Utilities.crypto.pwConvert(password, encode=True))
466 lst = webPage.mainFrame().evaluateJavaScript(parseForms_js) 466 lst = webPage.mainFrame().evaluateJavaScript(parseForms_js)
467 for map in lst: 467 for map in lst:
468 formHasPasswords = False 468 formHasPasswords = False
469 formName = map["name"] 469 formName = map["name"]
470 formIndex = map["index"] 470 formIndex = map["index"]
471 if type(formIndex) == type(0.0) and formIndex.is_integer(): 471 if isinstance(formIndex, float) and formIndex.is_integer():
472 formIndex = int(formIndex) 472 formIndex = int(formIndex)
473 elements = map["elements"] 473 elements = map["elements"]
474 formElements = set() 474 formElements = set()
475 formElementTypes = {} 475 formElementTypes = {}
476 deadElements = set() 476 deadElements = set()

eric ide

mercurial