diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /python/l10n/convert_xul_to_fluent/lib/dtd.py | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'python/l10n/convert_xul_to_fluent/lib/dtd.py')
-rw-r--r-- | python/l10n/convert_xul_to_fluent/lib/dtd.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/python/l10n/convert_xul_to_fluent/lib/dtd.py b/python/l10n/convert_xul_to_fluent/lib/dtd.py new file mode 100644 index 0000000000..85348e62ff --- /dev/null +++ b/python/l10n/convert_xul_to_fluent/lib/dtd.py @@ -0,0 +1,28 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import +from io import StringIO +from lxml import etree +from .utils import read_file + + +def get_dtds(sources, base_path): + entries = {} + for source in sources: + dtd = get_dtd(source, base_path) + for entry in dtd: + entries[entry] = {"value": dtd[entry], "file": source} + return entries + + +def get_dtd(dtd_source, base_path): + entries = {} + + source = read_file(dtd_source, base_path) + + dtd = etree.DTD(StringIO(source.decode("utf-8"))) + for entity in dtd.entities(): + entries[entity.name] = entity.content + return entries |