1*89c4ff92SAndroid Build Coastguard Worker#!/usr/bin/env python3 2*89c4ff92SAndroid Build Coastguard Worker# Copyright © 2020 Arm Ltd. All rights reserved. 3*89c4ff92SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT 4*89c4ff92SAndroid Build Coastguard Worker"""Generate PyArmNN documentation.""" 5*89c4ff92SAndroid Build Coastguard Worker 6*89c4ff92SAndroid Build Coastguard Workerimport os 7*89c4ff92SAndroid Build Coastguard Workerimport tarfile 8*89c4ff92SAndroid Build Coastguard Worker 9*89c4ff92SAndroid Build Coastguard Workerimport pyarmnn as ann 10*89c4ff92SAndroid Build Coastguard Workerimport shutil 11*89c4ff92SAndroid Build Coastguard Worker 12*89c4ff92SAndroid Build Coastguard Workerfrom typing import List, Union 13*89c4ff92SAndroid Build Coastguard Worker 14*89c4ff92SAndroid Build Coastguard Workerfrom pdoc.cli import main 15*89c4ff92SAndroid Build Coastguard Worker 16*89c4ff92SAndroid Build Coastguard Worker 17*89c4ff92SAndroid Build Coastguard Workerdef __copy_file_to_dir(file_paths: Union[List[str], str], target_dir_path: str): 18*89c4ff92SAndroid Build Coastguard Worker file_paths = [] + file_paths 19*89c4ff92SAndroid Build Coastguard Worker 20*89c4ff92SAndroid Build Coastguard Worker if not (os.path.exists(target_dir_path) and os.path.isdir(target_dir_path)): 21*89c4ff92SAndroid Build Coastguard Worker os.makedirs(target_dir_path) 22*89c4ff92SAndroid Build Coastguard Worker 23*89c4ff92SAndroid Build Coastguard Worker for file_path in file_paths: 24*89c4ff92SAndroid Build Coastguard Worker if not (os.path.exists(file_path) and os.path.isfile(file_path)): 25*89c4ff92SAndroid Build Coastguard Worker raise RuntimeError('Not a file: {}'.format(file_path)) 26*89c4ff92SAndroid Build Coastguard Worker 27*89c4ff92SAndroid Build Coastguard Worker file_name = os.path.basename(file_path) 28*89c4ff92SAndroid Build Coastguard Worker shutil.copyfile(file_path, os.path.join(str(target_dir_path), file_name)) 29*89c4ff92SAndroid Build Coastguard Worker 30*89c4ff92SAndroid Build Coastguard Worker 31*89c4ff92SAndroid Build Coastguard Workerdef copy_doc_images(): 32*89c4ff92SAndroid Build Coastguard Worker __copy_file_to_dir(file_paths=['../../docs/pyarmnn.png'], 33*89c4ff92SAndroid Build Coastguard Worker target_dir_path='docs') 34*89c4ff92SAndroid Build Coastguard Worker 35*89c4ff92SAndroid Build Coastguard Worker 36*89c4ff92SAndroid Build Coastguard Workerdef archive_docs(path, version): 37*89c4ff92SAndroid Build Coastguard Worker 38*89c4ff92SAndroid Build Coastguard Worker output_filename = f'pyarmnn_docs-{version}.tar' 39*89c4ff92SAndroid Build Coastguard Worker 40*89c4ff92SAndroid Build Coastguard Worker with tarfile.open(output_filename, "w") as tar: 41*89c4ff92SAndroid Build Coastguard Worker tar.add(path) 42*89c4ff92SAndroid Build Coastguard Worker 43*89c4ff92SAndroid Build Coastguard Worker 44*89c4ff92SAndroid Build Coastguard Workerif __name__ == "__main__": 45*89c4ff92SAndroid Build Coastguard Worker with open('./README.md', 'r') as readme_file: 46*89c4ff92SAndroid Build Coastguard Worker top_level_pyarmnn_doc = ''.join(readme_file.readlines()) 47*89c4ff92SAndroid Build Coastguard Worker ann.__doc__ = top_level_pyarmnn_doc 48*89c4ff92SAndroid Build Coastguard Worker 49*89c4ff92SAndroid Build Coastguard Worker main() 50*89c4ff92SAndroid Build Coastguard Worker 51*89c4ff92SAndroid Build Coastguard Worker copy_doc_images() 52*89c4ff92SAndroid Build Coastguard Worker archive_docs('./docs', ann.__version__) 53