1 from MPHelp import HelpPage
2 from xml.etree.cElementTree import parse as cet_parse
4 class XMLHelpPage(HelpPage):
5 def __init__(self, node):
6 # calling HelpPage.__init__ is not required
10 node = self.node.find('text')
12 return _(node.get('value', ''))
16 return _(self.node.get('title', ''))
19 def __init__(self, filename):
20 # this may raise an exception, it is up to the caller to handle that
21 self.__dom = cet_parse(filename).getroot()
23 def __getitem__(self, index):
26 caption = self.__dom.get('caption', '')
27 return lambda: _(caption)
29 return lambda: [XMLHelpPage(x) for x in self.__dom.findall('page')]
31 return self.__dom.get('skin', "") # additional skin name
32 raise IndexError('no more indices')
33 raise RuntimeError('no valid dom')
35 __all__ = ['XMLHelpReader']