1.1 --- a/examples/Common/PEP241/__init__.py Mon Dec 20 22:01:42 2004 +0000
1.2 +++ b/examples/Common/PEP241/__init__.py Tue Dec 21 00:11:31 2004 +0000
1.3 @@ -8,6 +8,28 @@
1.4 import XSLOutput
1.5 import os
1.6
1.7 +def add_element(positions, element_name, element_parent_name=None):
1.8 + if not positions:
1.9 + return
1.10 + for position in positions:
1.11 + if element_parent_name:
1.12 + parent_elements = position.xpath(element_parent_name)
1.13 + print "*", parent_elements
1.14 + if not parent_elements:
1.15 + parent_element = position.ownerDocument.createElementNS(None, element_parent_name)
1.16 + position.appendChild(parent_element)
1.17 + else:
1.18 + parent_element = parent_elements[0]
1.19 + else:
1.20 + parent_element = position
1.21 + parent_element.appendChild(position.ownerDocument.createElementNS(None, element_name))
1.22 +
1.23 +def remove_element(positions):
1.24 + if not positions:
1.25 + return
1.26 + for position in positions:
1.27 + position.parentNode.removeChild(position)
1.28 +
1.29 class PEP241Resource:
1.30
1.31 "A resource providing repository browsing."
1.32 @@ -51,11 +73,8 @@
1.33 package = fields.new_instance("package")
1.34
1.35 selectors = fields.get_selectors(items, documents)
1.36 - import libxml2dom, sys
1.37 - for name, values in selectors.items():
1.38 - sys.stderr.write("\n" + name + "\n")
1.39 - for value in values:
1.40 - libxml2dom.toStream(value, sys.stderr)
1.41 + add_element(selectors.get("add_author"), "author", "authors")
1.42 + remove_element(selectors.get("remove_author"))
1.43
1.44 # Start the response.
1.45