1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 """
20 Modul z klasa abstrakcyjna dla obiektow ktore moga byc inicjalizowane zarowno
21 przez dane XML jak i przez zmienna slowinkowa.
22 """
23
24 from django.core.management.base import CommandError
25 from ajango.core.XMLReader import XMLReader
26 from xml.dom import minidom
27 import abc
30 """ Zwraca okreslenie typu obiektu w postaci napisu. """
31 if isinstance(obj.object, minidom.Element):
32 obj.str = obj.object.getAttribute('type')
33 if obj.str == "":
34 obj.str = default
35 obj.param = obj.object.getAttribute('param')
36 else:
37 try:
38 obj.str = obj.object['type']
39 except KeyError:
40 raise CommandError("Input element is invalid")
41
43 """ Klasa . """
44 __metaclass__ = abc.ABCMeta
52 """ Inicjalizacja obiektu. """
53 self.read_from_xml(self.object)
54 @abc.abstractmethod
56 """ Inicjalizacja z danych XML. """
57 raise NotImplementedError()
58 @abc.abstractmethod
60 """ Inicjalizacja ze zmiennej slownikowej. """
61 raise NotImplementedError()
63 """ Sparwdzanie czy obiekt jest odczytany z XML'a. """
64 return isinstance(self.object, minidom.Element)
65