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