def test_pad_maximum(self): self.assertEqual('*', pad_max_version('')) self.assertEqual('10.0.0', pad_max_version('9')) self.assertEqual('9.1.0', pad_max_version('9.0')) self.assertEqual('9.0.1', pad_max_version('9.0.0')) with self.assertRaises(ValueError): pad_max_version('9.0.0.0')
def element_to_dict(element: Any) -> Dict: type = element.get('type') key = element.tag.replace('-', '_') if type == 'int': return {key: int(element.text)} elif type == 'list': return {key: list(map(element_to_dict, element.iterchildren()))} elif type == 'min-version': return {key: pad_min_version(element.text)} elif type == 'max-version': return {key: pad_max_version(element.text)} elif len(list(element)) > 0: contents = {} for child in element.iterchildren(): contents.update(element_to_dict(child)) return {key: contents} else: return {key: element.text}
def element_to_dict(element: Any) -> Dict: type = element.get('type') key = element.tag.replace('-', '_') if type == 'int' and element.text is not None: return {key: int(element.text)} elif type == 'list': return {key: list(map(element_to_dict, element.iterchildren()))} elif type == 'min-version': return { key: pad_min_version(element.text), 'raw_%s' % key: raw_version(element.text) } elif type == 'max-version': return { key: pad_max_version(element.text), 'raw_%s' % key: raw_version(element.text) } elif len(list(element)) > 0: contents = {} for child in element.iterchildren(): contents.update(element_to_dict(child)) return {key: contents} else: return {key: element.text}