aboutsummaryrefslogtreecommitdiffstats
path: root/build/plugins/_xsyn_includes.py
diff options
context:
space:
mode:
authormonster <monster@ydb.tech>2022-07-07 14:41:37 +0300
committermonster <monster@ydb.tech>2022-07-07 14:41:37 +0300
commit06e5c21a835c0e923506c4ff27929f34e00761c2 (patch)
tree75efcbc6854ef9bd476eb8bf00cc5c900da436a2 /build/plugins/_xsyn_includes.py
parent03f024c4412e3aa613bb543cf1660176320ba8f4 (diff)
downloadydb-06e5c21a835c0e923506c4ff27929f34e00761c2.tar.gz
fix ya.make
Diffstat (limited to 'build/plugins/_xsyn_includes.py')
-rw-r--r--build/plugins/_xsyn_includes.py60
1 files changed, 0 insertions, 60 deletions
diff --git a/build/plugins/_xsyn_includes.py b/build/plugins/_xsyn_includes.py
deleted file mode 100644
index 8d33cea2f0..0000000000
--- a/build/plugins/_xsyn_includes.py
+++ /dev/null
@@ -1,60 +0,0 @@
-def get_include_callback():
- """
- .. function: get_include_callback returns function that processes each DOM element to get xsyn include from it, and it's aware of directory with all the xsyns.
-
- :param xsyn_dir directory with xsyns.
- """
- def get_include(element):
- """
- .. function: get_include returns list of includes from this DOM element.
-
- :param element DOM element.
- """
- res = []
- if element.nodeType == element.ELEMENT_NODE and element.nodeName == "parse:include":
- attrs = element.attributes
- for i in xrange(attrs.length):
- attr = attrs.item(i)
- if attr.nodeName == "path":
- include_filename = attr.nodeValue
- res.append(include_filename)
- return res
-
- return get_include
-
-
-def traverse_xsyn(element, on_element):
- """
- .. function: traverse_xsyn traverses element and returns concatenated lists of calling on_element of each element.
-
- :param element element in DOM.
- :param on_element callback on element that returns list of values.
- """
- res = on_element(element)
- for child in element.childNodes:
- child_results = traverse_xsyn(child, on_element)
- res += child_results
- return res
-
-
-def process_xsyn(filepath, on_element):
- """
- .. function: process_xsyn processes xsyn file and return concatenated list of calling on_element on each DOM element.
-
- :param filepath path to xsyn file
- :param on_element callback called on each element in xsyn that returns list of values.
-
- """
-
- # keep a stack of filepathes if on_element calls process_xsyn recursively
- with open(filepath) as xsyn_file:
- from xml.dom.minidom import parse
- tree = parse(xsyn_file)
- tree.normalize()
- res = traverse_xsyn(tree, on_element)
- return res
-
-
-def get_all_includes(filepath):
- callback = get_include_callback()
- return process_xsyn(filepath, callback)