Changeset 151
- Timestamp:
- 05/14/02 11:19:04 (6 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/RBFoundation/RBFoundation/XMLObjectify.py
r150 r151 196 196 if xmlName in _attributes: 197 197 return _attributes[xmlName] 198 result = self._getElements( xmlName)198 result = self._getElements(node=xmlName) 199 199 if result: 200 200 return result … … 226 226 return 227 227 else: 228 if self._delElements( xmlName):228 if self._delElements(node=xmlName): 229 229 return 230 230 … … 291 291 def _getAllElements(self, andData=0): 292 292 """Returns all elements.""" 293 return [x[-1] for x in self._elements if x[0][-1]] 294 295 def _getElements(self, node): 293 if andData: return [x[-1] for x in self._elements] 294 else: return [x[-1] for x in self._elements if x[0][-1]] 295 296 def _getElements(self, namespace=None, node=None): 296 297 """Returns all elements matching node.""" 297 return [x[-1] for x in self._elements if x[0][-1] == node] 298 298 lst = self._elements 299 if node is not None: 300 lst = [x for x in lst if x[0][-1] == node] 301 if namespace is not None: 302 lst = [x for x in lst if x[0][0] == namespace] 303 return [x[-1] for x in lst] 304 299 305 def _delAllElements(self, andData=0): 300 306 """Removes all elements, and if andData, all PCData as well.""" … … 302 308 else: elements = [x for x in self._elements if x[0][-1] == ''] 303 309 304 def _delElements(self, n ode):310 def _delElements(self, namespace=None, node=None): 305 311 """Removes all elements matching node.""" 306 elements = [x for x in self._elements if x[0][-1] != node] 307 if len(elements) != len(self._elements): 308 self._elements = elements 312 lst = self._elements 313 if node is not None: 314 lst = [x for x in lst if x[0][-1] == node] 315 if namespace is not None: 316 lst = [x for x in lst if x[0][0] == namespace] 317 if len(lst) != len(self._elements): 318 self._elements = lst 309 319 return 1 310 320 return 0 … … 333 343 def _clearData(self): 334 344 """Removes all PCData from the element node.""" 335 return self._delElements( '')345 return self._delElements(node='') 336 346 337 347 def _addData(self, data): trunk/RBSkinning/RBSkinning/skin/reference.py
r66 r151 44 44 default_settings = {} 45 45 46 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 47 #~ Public Methods 48 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49 46 50 def SkinInitialize(self): 47 51 self.PushContext() … … 49 53 self.__skinner = self.context.__skinner__ 50 54 51 def ReferenceFile(self, file, kwAddedContext={}): 55 def SkinFinalize(self): 56 Children = self.Elements('*') 57 if not Children: 58 self.ReferenceSkin(self.settings['file']) 59 else: 60 for child in Children: 61 if isinstance(child, str): 62 self.ReferenceSkin(child.strip()) 63 elif isinstance(child.object, str): 64 self.ReferenceSkin(child.object) 65 elif isinstance(child.object, tuple): 66 apply(self.ReferenceSkin, child.object) 67 del self.__skinner 68 69 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 70 71 def ReferenceSkin(self, file, kwAddedContext={}): 52 72 if file: 53 73 self.object.append(self.__skinner()._SkinFileFromTopElement(file, kwAddedContext)) 54 74 55 def SkinFinalize(self):56 Children = self.Elements('*')57 if not Children:58 self.ReferenceFile(self.settings['file'])59 else:60 for child in Children:61 if isinstance(child, str):62 self.ReferenceFile(child.strip())63 elif isinstance(child.object, str):64 self.ReferenceFile(child.object)65 elif isinstance(child.object, tuple):66 apply(self.ReferenceFile, child.object)67 del self.__skinner68
