eric6/Helpviewer/Passwords/PasswordWriter.py

changeset 7220
5cf645f6daab
parent 7218
eaf2cf171f3a
parent 7211
1c97f3142fa8
child 7221
0485ccdf7877
diff -r eaf2cf171f3a -r 5cf645f6daab eric6/Helpviewer/Passwords/PasswordWriter.py
--- a/eric6/Helpviewer/Passwords/PasswordWriter.py	Sat Sep 07 14:45:27 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2012 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing a class to write login data files.
-"""
-
-from __future__ import unicode_literals
-
-from PyQt5.QtCore import QXmlStreamWriter, QIODevice, QFile
-
-
-class PasswordWriter(QXmlStreamWriter):
-    """
-    Class implementing a writer object to generate login data files.
-    """
-    def __init__(self):
-        """
-        Constructor
-        """
-        super(PasswordWriter, self).__init__()
-        
-        self.setAutoFormatting(True)
-    
-    def write(self, fileNameOrDevice, logins, forms, nevers):
-        """
-        Public method to write an login data file.
-        
-        @param fileNameOrDevice name of the file to write (string)
-            or device to write to (QIODevice)
-        @param logins dictionary with login data (user name, password)
-        @param forms list of forms data (list of LoginForm)
-        @param nevers list of URLs to never store data for (list of strings)
-        @return flag indicating success (boolean)
-        """
-        if isinstance(fileNameOrDevice, QIODevice):
-            f = fileNameOrDevice
-        else:
-            f = QFile(fileNameOrDevice)
-            if not f.open(QFile.WriteOnly):
-                return False
-        
-        self.setDevice(f)
-        return self.__write(logins, forms, nevers)
-    
-    def __write(self, logins, forms, nevers):
-        """
-        Private method to write an login data file.
-        
-        @param logins dictionary with login data (user name, password)
-        @param forms list of forms data (list of LoginForm)
-        @param nevers list of URLs to never store data for (list of strings)
-        @return flag indicating success (boolean)
-        """
-        self.writeStartDocument()
-        self.writeDTD("<!DOCTYPE passwords>")
-        self.writeStartElement("Password")
-        self.writeAttribute("version", "1.0")
-        
-        if logins:
-            self.__writeLogins(logins)
-        if forms:
-            self.__writeForms(forms)
-        if nevers:
-            self.__writeNevers(nevers)
-        
-        self.writeEndDocument()
-        return True
-    
-    def __writeLogins(self, logins):
-        """
-        Private method to write the login data.
-        
-        @param logins dictionary with login data (user name, password)
-        """
-        self.writeStartElement("Logins")
-        for key, login in logins.items():
-            self.writeEmptyElement("Login")
-            self.writeAttribute("key", key)
-            self.writeAttribute("user", login[0])
-            self.writeAttribute("password", login[1])
-        self.writeEndElement()
-    
-    def __writeForms(self, forms):
-        """
-        Private method to write forms data.
-        
-        @param forms list of forms data (list of LoginForm)
-        """
-        self.writeStartElement("Forms")
-        for key, form in forms.items():
-            self.writeStartElement("Form")
-            self.writeAttribute("key", key)
-            self.writeAttribute("url", form.url.toString())
-            self.writeAttribute("name", str(form.name))
-            self.writeAttribute(
-                "password", "yes" if form.hasAPassword else "no")
-            if form.elements:
-                self.writeStartElement("Elements")
-                for element in form.elements:
-                    self.writeEmptyElement("Element")
-                    self.writeAttribute("name", element[0])
-                    self.writeAttribute("value", element[1])
-                self.writeEndElement()
-            self.writeEndElement()
-        self.writeEndElement()
-    
-    def __writeNevers(self, nevers):
-        """
-        Private method to write the URLs never to store login data for.
-        
-        @param nevers list of URLs to never store data for (list of strings)
-        """
-        self.writeStartElement("Nevers")
-        for never in nevers:
-            self.writeEmptyElement("Never")
-            self.writeAttribute("url", never)
-        self.writeEndElement()

eric ide

mercurial