2 Boolean geometry utilities.
6 from __future__ import absolute_import
9 __author__ = 'Enrique Perez (perez_enrique@yahoo.com)'
10 __credits__ = 'Art of Illusion <http://www.artofillusion.org/>'
11 __date__ = '$Date: 2008/02/05 $'
12 __license__ = 'GNU Affero General Public License http://www.gnu.org/licenses/agpl.html'
15 def _getAccessibleAttribute(attributeName, elementNode):
16 'Get the accessible attribute.'
17 if attributeName in globalGetAccessibleAttributeSet:
18 return getattr(Document(elementNode), attributeName, None)
22 class Document(object):
23 'Class to handle elementNodes in a document.'
24 def __init__(self, elementNode):
26 self.elementNode = elementNode
29 'Get the string representation of this Document.'
30 return self.elementNode
32 def getCascadeBoolean(self, defaultBoolean, key):
33 'Get cascade boolean.'
34 return self.elementNode.getCascadeBoolean(defaultBoolean, key)
36 def getCascadeFloat(self, defaultFloat, key):
38 return self.elementNode.getCascadeFloat(defaultFloat, key)
40 def getDocumentElement(self):
41 'Get document element element.'
42 return self.elementNode.getDocumentElement()
44 def getElementByID(self, idKey):
46 elementByID = self.elementNode.getElementNodeByID(idKey)
47 if elementByID == None:
48 print('Warning, could not get elementByID in getElementByID in document for:')
50 print(self.elementNode)
53 def getElementsByName(self, nameKey):
54 'Get element by name.'
55 elementsByName = self.elementNode.getElementNodesByName(nameKey)
56 if elementsByName == None:
57 print('Warning, could not get elementsByName in getElementsByName in document for:')
59 print(self.elementNode)
62 def getElementsByTag(self, tagKey):
64 elementsByTag = self.elementNode.getElementNodesByTag(tagKey)
65 if elementsByTag == None:
66 print('Warning, could not get elementsByTag in getElementsByTag in document for:')
68 print(self.elementNode)
71 def getParentNode(self):
72 'Get parentNode element.'
73 return self.elementNode.parentNode
75 def getPrevious(self):
76 'Get previous element.'
77 return self.getPreviousElement()
79 def getPreviousElement(self):
80 'Get previous element.'
81 return self.elementNode.getPreviousElementNode()
83 def getPreviousVertex(self):
84 'Get previous element.'
85 return self.elementNode.getPreviousVertex()
87 def getSelfElement(self):
89 return self.elementNode
92 globalAccessibleAttributeDictionary = 'getCascadeBoolean getCascadeFloat getDocumentElement getElementByID getElementsByName'.split()
93 globalAccessibleAttributeDictionary += 'getElementsByTag getParentNode getPrevious getPreviousElement getPreviousVertex'.split()
94 globalAccessibleAttributeDictionary += 'getSelfElement'.split()
95 globalGetAccessibleAttributeSet = set(globalAccessibleAttributeDictionary)