140 from .PasswordWriter import PasswordWriter |
140 from .PasswordWriter import PasswordWriter |
141 loginFile = self.getFileName() |
141 loginFile = self.getFileName() |
142 writer = PasswordWriter() |
142 writer = PasswordWriter() |
143 if not writer.write( |
143 if not writer.write( |
144 loginFile, self.__logins, self.__loginForms, self.__never): |
144 loginFile, self.__logins, self.__loginForms, self.__never): |
145 E5MessageBox.critical(None, |
145 E5MessageBox.critical( |
|
146 None, |
146 self.trUtf8("Saving login data"), |
147 self.trUtf8("Saving login data"), |
147 self.trUtf8( |
148 self.trUtf8( |
148 """<p>Login data could not be saved to <b>{0}</b></p>""" |
149 """<p>Login data could not be saved to <b>{0}</b></p>""" |
149 ).format(loginFile)) |
150 ).format(loginFile)) |
150 else: |
151 else: |
161 from .PasswordReader import PasswordReader |
162 from .PasswordReader import PasswordReader |
162 reader = PasswordReader() |
163 reader = PasswordReader() |
163 self.__logins, self.__loginForms, self.__never = \ |
164 self.__logins, self.__loginForms, self.__never = \ |
164 reader.read(loginFile) |
165 reader.read(loginFile) |
165 if reader.error() != QXmlStreamReader.NoError: |
166 if reader.error() != QXmlStreamReader.NoError: |
166 E5MessageBox.warning(None, |
167 E5MessageBox.warning( |
|
168 None, |
167 self.trUtf8("Loading login data"), |
169 self.trUtf8("Loading login data"), |
168 self.trUtf8("""Error when loading login data on""" |
170 self.trUtf8("""Error when loading login data on""" |
169 """ line {0}, column {1}:\n{2}""")\ |
171 """ line {0}, column {1}:\n{2}""")\ |
170 .format(reader.lineNumber(), |
172 .format(reader.lineNumber(), |
171 reader.columnNumber(), |
173 reader.columnNumber(), |
186 try: |
188 try: |
187 f = open(loginFile, "r", encoding="utf-8") |
189 f = open(loginFile, "r", encoding="utf-8") |
188 lines = f.read() |
190 lines = f.read() |
189 f.close() |
191 f.close() |
190 except IOError as err: |
192 except IOError as err: |
191 E5MessageBox.critical(None, |
193 E5MessageBox.critical( |
|
194 None, |
192 self.trUtf8("Loading login data"), |
195 self.trUtf8("Loading login data"), |
193 self.trUtf8("""<p>Login data could not be loaded """ |
196 self.trUtf8("""<p>Login data could not be loaded """ |
194 """from <b>{0}</b></p>""" |
197 """from <b>{0}</b></p>""" |
195 """<p>Reason: {1}</p>""")\ |
198 """<p>Reason: {1}</p>""")\ |
196 .format(loginFile, str(err))) |
199 .format(loginFile, str(err))) |
210 if section == 0: |
213 if section == 0: |
211 if line != self.SEPARATOR: |
214 if line != self.SEPARATOR: |
212 data.append(line) |
215 data.append(line) |
213 else: |
216 else: |
214 if len(data) != 3: |
217 if len(data) != 3: |
215 E5MessageBox.critical(None, |
218 E5MessageBox.critical( |
|
219 None, |
216 self.trUtf8("Loading login data"), |
220 self.trUtf8("Loading login data"), |
217 self.trUtf8( |
221 self.trUtf8( |
218 """<p>Login data could not be loaded """ |
222 """<p>Login data could not be loaded """ |
219 """from <b>{0}</b></p>""" |
223 """from <b>{0}</b></p>""" |
220 """<p>Reason: Wrong input format</p>""")\ |
224 """<p>Reason: Wrong input format</p>""")\ |
377 return |
381 return |
378 |
382 |
379 # prompt, if the form has never be seen |
383 # prompt, if the form has never be seen |
380 key = self.__createKey(url, "") |
384 key = self.__createKey(url, "") |
381 if key not in self.__loginForms: |
385 if key not in self.__loginForms: |
382 mb = E5MessageBox.E5MessageBox(E5MessageBox.Question, |
386 mb = E5MessageBox.E5MessageBox( |
|
387 E5MessageBox.Question, |
383 self.trUtf8("Save password"), |
388 self.trUtf8("Save password"), |
384 self.trUtf8( |
389 self.trUtf8( |
385 """<b>Would you like to save this password?</b><br/>""" |
390 """<b>Would you like to save this password?</b><br/>""" |
386 """To review passwords you have saved and remove them, """ |
391 """To review passwords you have saved and remove them, """ |
387 """use the password management dialog of the Settings""" |
392 """use the password management dialog of the Settings""" |