aboutsummaryrefslogtreecommitdiffstats
path: root/build/scripts/link_jsrc.py
diff options
context:
space:
mode:
authortrivias <trivias@yandex-team.com>2023-03-20 18:05:59 +0300
committertrivias <trivias@yandex-team.com>2023-03-20 18:05:59 +0300
commit30574d399b041f91ad5143e57acca97636a54085 (patch)
treedd7696fff1e47c9d5cc243f4b0c1899ea6df925d /build/scripts/link_jsrc.py
parente0305489c73afe7196823399dc37f5d8031c0ca2 (diff)
downloadydb-30574d399b041f91ad5143e57acca97636a54085.tar.gz
Idl plugin for ymake
Diffstat (limited to 'build/scripts/link_jsrc.py')
-rw-r--r--build/scripts/link_jsrc.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/build/scripts/link_jsrc.py b/build/scripts/link_jsrc.py
new file mode 100644
index 0000000000..feae72fe4e
--- /dev/null
+++ b/build/scripts/link_jsrc.py
@@ -0,0 +1,27 @@
+import argparse
+import tarfile
+
+
+def parse_args():
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--input', nargs='*')
+ parser.add_argument('--output', required=True)
+
+ return parser.parse_args()
+
+
+def main():
+ args = parse_args()
+
+ with tarfile.open(args.output, 'w') as dest:
+ for jsrc in [j for j in args.input if j.endswith('.jsrc')]:
+ with tarfile.open(jsrc, 'r') as src:
+ for item in [m for m in src.getmembers() if m.name != '']:
+ if item.isdir():
+ dest.addfile(item)
+ else:
+ dest.addfile(item, src.extractfile(item))
+
+
+if __name__ == '__main__':
+ main()