+#!/usr/bin/env python3
# -*- Mode: python; coding: utf-8; indent-tabs-mode: nil -*- */
-#
-# This file is part of systemd.
-#
-# Copyright 2012-2013 Zbigniew Jędrzejewski-Szmek
-#
-# systemd is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 2.1 of the License, or
-# (at your option) any later version.
-#
-# systemd is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+# SPDX-License-Identifier: LGPL-2.1+
from lxml import etree as tree
if 'custom-entities.ent' in url:
return self.resolve_filename('man/custom-entities.ent', context)
-try:
- _parser = tree.XMLParser()
- _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')
+_parser = tree.XMLParser()
+_parser.resolvers.add(CustomResolver())
-except ImportError:
- import xml.etree.ElementTree as tree
- import re as _re
- import io as _io
+def xml_parse(page):
+ doc = tree.parse(page, _parser)
+ doc.xinclude()
+ return doc
- def xml_parse(page):
- s = _re.sub(b'&[a-zA-Z0-9_]+;', b'', open(page, 'rb').read())
- return tree.parse(_io.BytesIO(s))
- xml_print = lambda xml: tree.tostring(xml, encoding='utf-8')
+def xml_print(xml):
+ return tree.tostring(xml, pretty_print=True, encoding='utf-8')