• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/env python3
2
3import argparse
4import jinja2
5import os
6import yaml
7
8def get_device_type(arch, config_file):
9    with open(config_file, "r") as stream:
10        try:
11            config = yaml.safe_load(stream)
12            return config[arch]['device_type']
13        except yaml.YAMLError as exc:
14            print(exc)
15
16def main():
17    argparser = argparse.ArgumentParser()
18    argparser.add_argument('--template', help='Input template file', required=True)
19    argparser.add_argument('--test-branch', help='The branch being tested', default='main')
20    argparser.add_argument('--test-repo', help='The repository being tested', required=True)
21    argparser.add_argument('--arch', choices=['amd', 'intel'], help='Architecture', required=True)
22    argparser.add_argument('--ccdec-build-id', help='ccdec build id', required=True)
23    argparser.add_argument('--token', help='Github read token', required=True)
24    argparser.add_argument('--repo', help='Github repository', required=True)
25    argparser.add_argument('--config-file', help='Configuration file', required=True)
26    args = argparser.parse_args()
27
28    env = jinja2.Environment(loader=jinja2.FileSystemLoader(os.path.dirname(args.template)),
29                             undefined=jinja2.StrictUndefined)
30
31    template = env.get_template(os.path.basename(args.template))
32
33    print(template.render(ccdec_build_id=args.ccdec_build_id, arch=args.arch, device_type=get_device_type(args.arch, args.config_file), test_branch=args.test_branch, repo_url=args.test_repo, token=args.token, repo=args.repo))
34
35
36if __name__ == '__main__':
37    main()
38
39