Files
openvino/scripts/utils/utils.py
Ilya Churaev 0c9abf43a9 Updated copyright headers (#15124)
* Updated copyright headers

* Revert "Fixed linker warnings in docs snippets on Windows (#15119)"

This reverts commit 372699ec49.
2023-01-16 11:02:17 +04:00

60 lines
2.1 KiB
Python

# Copyright (C) 2018-2023 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
import os
import subprocess
import tarfile
from datetime import datetime
from shutil import copyfile, copytree, rmtree
major_version = 0
minor_version = 3
class Automation:
@staticmethod
def parse_bom(bom_path):
files = []
for file in open(bom_path):
files.append(file)
return files
@staticmethod
def copy_files_from_bom(root_path, bom):
target_dir = os.path.join(os.path.dirname(__file__), "tools_package")
if os.path.exists(target_dir):
rmtree(target_dir)
os.makedirs(target_dir)
for file in bom:
src = os.path.join(root_path, file.strip('\n'))
dst = os.path.join(target_dir, file.strip('\n'))
if not os.path.exists(os.path.dirname(dst)):
os.makedirs(os.path.dirname(dst))
if os.path.isdir(src):
copytree(src, dst)
else:
copyfile(src, dst)
return target_dir
@staticmethod
def add_version_txt(dst_path, build_number, git_hash_short):
git_hash = subprocess.check_output(["git", "rev-parse", "HEAD"]).decode("utf-8").strip("\n")
if git_hash_short == "0":
git_hash_short = subprocess.check_output(["git", "rev-parse", "--short", "HEAD"]).decode("utf-8").strip(
"\n")
verson = "{0}.{1}.{2}.{3}".format(major_version, minor_version, build_number, git_hash_short)
timestamp = datetime.now().strftime("%I:%M%p %B %d, %Y")
with open(os.path.join(dst_path, "version.txt"), 'w') as f:
f.write(timestamp + '\n')
f.write(verson + '\n')
f.write(git_hash + '\n')
return verson
@staticmethod
def make_tarfile(out_file_name, source_dir):
archive_path = os.path.join(os.path.dirname(__file__), out_file_name)
if os.path.exists(archive_path):
os.remove(archive_path)
with tarfile.open(out_file_name, "w:gz") as tar:
tar.add(source_dir, arcname=os.path.basename(source_dir))