17927a7a0Sopenharmony_ci#!/usr/bin/env python 27927a7a0Sopenharmony_ci# -*- coding: utf-8 -*- 37927a7a0Sopenharmony_ci# Copyright 2024 Huawei Technologies Co., Ltd 47927a7a0Sopenharmony_ci# 57927a7a0Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 67927a7a0Sopenharmony_ci# you may not use this file except in compliance with the License. 77927a7a0Sopenharmony_ci# You may obtain a copy of the License at 87927a7a0Sopenharmony_ci# 97927a7a0Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 107927a7a0Sopenharmony_ci# 117927a7a0Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 127927a7a0Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 137927a7a0Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 147927a7a0Sopenharmony_ci# See the License for the specific language governing permissions and 157927a7a0Sopenharmony_ci# limitations under the License. 167927a7a0Sopenharmony_ci 177927a7a0Sopenharmony_ciimport os 187927a7a0Sopenharmony_ciimport sys 197927a7a0Sopenharmony_ciimport shutil 207927a7a0Sopenharmony_ciimport argparse 217927a7a0Sopenharmony_ciimport subprocess 227927a7a0Sopenharmony_ci 237927a7a0Sopenharmony_ci 247927a7a0Sopenharmony_cidef untar_file(tar_file_path, extract_path): 257927a7a0Sopenharmony_ci try: 267927a7a0Sopenharmony_ci tar_cmd = ['tar', '-zxf', tar_file_path, '-C', extract_path] 277927a7a0Sopenharmony_ci subprocess.run(tar_cmd, check=True) 287927a7a0Sopenharmony_ci except Exception as e: 297927a7a0Sopenharmony_ci print("tar error!") 307927a7a0Sopenharmony_ci return 317927a7a0Sopenharmony_ci 327927a7a0Sopenharmony_ci 337927a7a0Sopenharmony_cidef clear_dir(old_dir): 347927a7a0Sopenharmony_ci if os.path.exists(old_dir): 357927a7a0Sopenharmony_ci shutil.rmtree(old_dir) 367927a7a0Sopenharmony_ci 377927a7a0Sopenharmony_ci 387927a7a0Sopenharmony_cidef move_dir(src_dir, dst_dir): 397927a7a0Sopenharmony_ci shutil.copytree(src_dir, dst_dir) 407927a7a0Sopenharmony_ci 417927a7a0Sopenharmony_ci 427927a7a0Sopenharmony_cidef main(): 437927a7a0Sopenharmony_ci args_parser = argparse.ArgumentParser() 447927a7a0Sopenharmony_ci args_parser.add_argument('--gen-dir', help='generate path of log', required=True) 457927a7a0Sopenharmony_ci args_parser.add_argument('--source-dir', help='generate path of log', required=True) 467927a7a0Sopenharmony_ci args = args_parser.parse_args() 477927a7a0Sopenharmony_ci 487927a7a0Sopenharmony_ci tar_file_path = os.path.join(args.source_dir, "v2.0.0.tar.gz") 497927a7a0Sopenharmony_ci target_dir = os.path.join(args.gen_dir, "flatbuffers-2.0.0") 507927a7a0Sopenharmony_ci 517927a7a0Sopenharmony_ci clear_dir(os.path.join(args.source_dir, "include")) 527927a7a0Sopenharmony_ci untar_file(tar_file_path, args.gen_dir) 537927a7a0Sopenharmony_ci move_dir(os.path.join(target_dir, "include"), os.path.join(args.source_dir, "include")) 547927a7a0Sopenharmony_ci 557927a7a0Sopenharmony_ci 567927a7a0Sopenharmony_ciif __name__ == '__main__': 577927a7a0Sopenharmony_ci sys.exit(main()) 58