systemd/tools/xml_helper.py
2023-08-10 18:13:29 +02:00

27 lines
721 B
Python
Executable File

#!/usr/bin/env python3
# SPDX-License-Identifier: LGPL-2.1-or-later
from lxml import etree as tree
class CustomResolver(tree.Resolver):
def resolve(self, url, _id, context):
if 'custom-entities.ent' in url:
return self.resolve_filename('man/custom-entities.ent', context)
if 'ethtool-link-mode' in url:
return self.resolve_filename('src/shared/ethtool-link-mode.xml', context)
return None
_parser = tree.XMLParser()
# pylint: disable=no-member
_parser.resolvers.add(CustomResolver())
def xml_parse(page):
doc = tree.parse(page, _parser)
doc.xinclude()
return doc
def xml_print(xml):
return tree.tostring(xml, pretty_print=True, encoding='utf-8')