]>
Commit | Line | Data |
---|---|---|
3e67e5c9 | 1 | #!/usr/bin/env python3 |
db9ecf05 | 2 | # SPDX-License-Identifier: LGPL-2.1-or-later |
1a13e31d | 3 | |
21ac6ff1 | 4 | from lxml import etree as tree |
1a13e31d | 5 | |
54a9070c | 6 | |
21ac6ff1 | 7 | class CustomResolver(tree.Resolver): |
54a9070c | 8 | def resolve(self, url, _id, context): |
21ac6ff1 ZJS |
9 | if 'custom-entities.ent' in url: |
10 | return self.resolve_filename('man/custom-entities.ent', context) | |
c18dde32 ZJS |
11 | if 'ethtool-link-mode' in url: |
12 | return self.resolve_filename('src/shared/ethtool-link-mode.xml', context) | |
1a13e31d | 13 | |
54a9070c FS |
14 | return None |
15 | ||
32dcef3a | 16 | _parser = tree.XMLParser() |
54a9070c | 17 | # pylint: disable=no-member |
32dcef3a | 18 | _parser.resolvers.add(CustomResolver()) |
35df7443 | 19 | |
32dcef3a ZJS |
20 | def xml_parse(page): |
21 | doc = tree.parse(page, _parser) | |
22 | doc.xinclude() | |
23 | return doc | |
35df7443 | 24 | |
32dcef3a ZJS |
25 | def xml_print(xml): |
26 | return tree.tostring(xml, pretty_print=True, encoding='utf-8') |