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"), |
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"] |