• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env python3
2# coding: utf-8
3# Copyright (c) 2024 Huawei Device Co., Ltd.
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#     http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15import sys
16import subprocess
17import os
18
19
20def run_command(command):
21    result = subprocess.run(command, shell=False, capture_output=True)
22    return result.stdout, result.stderr, result.returncode
23
24
25def main():
26    if len(sys.argv) != 4:
27        print("Usage: python generate_hpb.py <hpb_transform_exe> <tex_file_path> <output_hpb_file>")
28        sys.exit(1)
29
30    hpb_transform_exe = sys.argv[1]
31    tex_file_path = sys.argv[2]
32    output_hpb_file = sys.argv[3]
33
34    # 检查并创建输出文件夹
35    output_dir = os.path.dirname(output_hpb_file)
36    if not os.path.exists(output_dir):
37        os.makedirs(output_dir)
38        print(f"Created directory: {output_dir}")
39
40    # 创建命令
41    command_str = f"{hpb_transform_exe} {tex_file_path} {output_hpb_file}"
42    command = [hpb_transform_exe, tex_file_path, output_hpb_file]
43    print(f"hpy_command: {command_str}")
44
45    # 执行命令
46    stdout, stderr, returncode = run_command(command)
47    if returncode == 0:
48        print("Command executed successfully.")
49    else:
50        print(f"Command failed with return code {returncode}")
51        print(f"Error output: {stderr.decode('utf-8')}")
52
53
54if __name__ == "__main__":
55    main()
56