# -*- coding: utf-8 -*-
"""

Mmodul schematu drzewa xml w postaci klas 
"""
#from lxml import objectify
from lxml.etree import Element, ElementTree
#from xml.etree.ElementTree as et
from Mapa_PU.model.znaczniki import Znaczniki

class ElementBase():
    """
    Klasa bazowa dla elementów
    """
    def __init__(self,tag,text=None):
        self.root=Element(tag)
        self.root.text=text
        
    
    def tag(self):
        ##Wartosc tagu elementu
        return self.root.tag
    
    def append(self,element):
        ##dodanie dziecka drzewa
        self.root.append(element.root)
        
    #def set_text(self,text):
    #    ##Wstawia rartoś w wezel
    #    self.swdl.text=text
        
    def text(self):
        ##wartośc elementu
        return self.root.text
    
    

class ElementSwdl(ElementBase):
    """
    Korzen drzewa
    """
    def __init__(self):
        ElementBase.__init__(self,Znaczniki.ROOT.value)
             
    def write(self):
        ##Zapis elementu do pliku xml
        tree = ElementTree(self.root)
        tree.write('c:\A\output.xml', pretty_print=True, xml_declaration=True,   encoding="utf-8")
        
    def set(self,name,value):
        ##Dodanie parametru
        self.root.set(name,value)

class ElementDrzewa(ElementBase):
    """
    Element drzewa 
    """
    def __init__(self,tag,text=None):
        ElementBase.__init__(self,tag)
        self.root.text=text
        
    
    