Esempio n. 1
0
 def __setitem__(self, key, value):
     if isinstance(key, Name):
         value.name = key
         for index, element in enumerate(self.elements):
             if (
                 isinstance(element, Tag) and
                 element.name == key
             ):
                 self.elements[index] = value
                 return
         self.elements.append(value)
     elif isinstance(key, Identifier):
         value['id'] = key
         for index, element in enumerate(self.elements):
             if (
                 isinstance(element, Tag) and
                 'id' in element and
                 element['id'] == key
             ):
                 self.elements[index] = value
                 return
         self.elements.append(value)
     elif isinstance(key, str):
         self.attributes[key] = value
     elif isinstance(key, int):
         self.elements[key] = value
     else:
         raise TypeError()
Esempio n. 2
0
 def __delitem__(self, key):
     if isinstance(key, str):
         del self.attributes[key]
     elif isinstance(key, int):
         del self.elements[key]
     elif isinstance(key, Tag):
         for index, value in enumerate(self.elements):
             if key == value:
                 del self.elements[index]
                 return
         raise KeyError(key)
     else:
         raise TypeError()