Helpviewer/Passwords/PasswordManager.py

changeset 2403
e3d7a861547c
parent 2302
f29e9405c851
child 2525
8b507a9a2d40
child 3002
6ffc581f00f1
equal deleted inserted replaced
2402:304fcefd3b04 2403:e3d7a861547c
14 from PyQt4.QtGui import QProgressDialog, QApplication 14 from PyQt4.QtGui import QProgressDialog, QApplication
15 from PyQt4.QtNetwork import QNetworkRequest 15 from PyQt4.QtNetwork import QNetworkRequest
16 from PyQt4.QtWebKit import QWebSettings, QWebPage 16 from PyQt4.QtWebKit import QWebSettings, QWebPage
17 17
18 from E5Gui import E5MessageBox 18 from E5Gui import E5MessageBox
19
20 from Helpviewer.JavaScriptResources import parseForms_js
21
22 from .LoginForm import LoginForm
23 from .PasswordWriter import PasswordWriter
24 from .PasswordReader import PasswordReader
25 19
26 from Utilities.AutoSaver import AutoSaver 20 from Utilities.AutoSaver import AutoSaver
27 import Utilities 21 import Utilities
28 import Utilities.crypto 22 import Utilities.crypto
29 import Preferences 23 import Preferences
135 Public slot to save the login entries to disk. 129 Public slot to save the login entries to disk.
136 """ 130 """
137 if not self.__loaded: 131 if not self.__loaded:
138 return 132 return
139 133
134 from .PasswordWriter import PasswordWriter
140 loginFile = self.getFileName() 135 loginFile = self.getFileName()
141 writer = PasswordWriter() 136 writer = PasswordWriter()
142 if not writer.write(loginFile, self.__logins, self.__loginForms, self.__never): 137 if not writer.write(loginFile, self.__logins, self.__loginForms, self.__never):
143 E5MessageBox.critical(None, 138 E5MessageBox.critical(None,
144 self.trUtf8("Saving login data"), 139 self.trUtf8("Saving login data"),
153 """ 148 """
154 loginFile = self.getFileName() 149 loginFile = self.getFileName()
155 if not os.path.exists(loginFile): 150 if not os.path.exists(loginFile):
156 self.__loadNonXml(os.path.splitext(loginFile)[0]) 151 self.__loadNonXml(os.path.splitext(loginFile)[0])
157 else: 152 else:
153 from .PasswordReader import PasswordReader
158 reader = PasswordReader() 154 reader = PasswordReader()
159 self.__logins, self.__loginForms, self.__never = reader.read(loginFile) 155 self.__logins, self.__loginForms, self.__never = reader.read(loginFile)
160 if reader.error() != QXmlStreamReader.NoError: 156 if reader.error() != QXmlStreamReader.NoError:
161 E5MessageBox.warning(None, 157 E5MessageBox.warning(None,
162 self.trUtf8("Loading login data"), 158 self.trUtf8("Loading login data"),
218 214
219 elif section == 1: 215 elif section == 1:
220 if line != self.SEPARATOR: 216 if line != self.SEPARATOR:
221 data.append(line) 217 data.append(line)
222 else: 218 else:
219 from .LoginForm import LoginForm
223 key = data[0] 220 key = data[0]
224 form = LoginForm() 221 form = LoginForm()
225 form.url = QUrl(data[1]) 222 form.url = QUrl(data[1])
226 form.name = data[2] 223 form.name = data[2]
227 form.hasAPassword = data[3] == "True" 224 form.hasAPassword = data[3] == "True"
428 @param data data to be sent (QByteArray) 425 @param data data to be sent (QByteArray)
429 @keyparam boundary boundary string (QByteArray) for multipart encoded data, 426 @keyparam boundary boundary string (QByteArray) for multipart encoded data,
430 None for urlencoded data 427 None for urlencoded data
431 @return parsed form (LoginForm) 428 @return parsed form (LoginForm)
432 """ 429 """
430 from .LoginForm import LoginForm
433 form = LoginForm() 431 form = LoginForm()
434 if boundary is not None: 432 if boundary is not None:
435 args = self.__extractMultipartQueryItems(data, boundary) 433 args = self.__extractMultipartQueryItems(data, boundary)
436 else: 434 else:
437 argsUrl = QUrl.fromEncoded( 435 argsUrl = QUrl.fromEncoded(
442 key = arg[0] 440 key = arg[0]
443 value = arg[1] 441 value = arg[1]
444 args.add((key, value)) 442 args.add((key, value))
445 443
446 # extract the forms 444 # extract the forms
445 from Helpviewer.JavaScriptResources import parseForms_js
447 lst = webPage.mainFrame().evaluateJavaScript(parseForms_js) 446 lst = webPage.mainFrame().evaluateJavaScript(parseForms_js)
448 for map in lst: 447 for map in lst:
449 formHasPasswords = False 448 formHasPasswords = False
450 formName = map["name"] 449 formName = map["name"]
451 formIndex = map["index"] 450 formIndex = map["index"]

eric ide

mercurial