summaryrefslogtreecommitdiff
path: root/tests/helpers/gtkdoc_mkhtml2_runner.py
blob: fc4dae8b2de4fe6bec0788e0be87eede08d80d76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# -*- python -*-

from __future__ import print_function

import argparse
import os
import shutil
import sys

from subprocess import call

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='gtkdoc-mkhtml2 runner.')

    parser.add_argument("--binary-dir", type=str, required=True,
                        help='Path to be used as a working directory')
    parser.add_argument("--change-dir", type=str, default=None,
                        help='Path to be used as a working directory')
    parser.add_argument("--html-assets", type=str, default=None,
                        help='List of HTML assets, seprated by "@@"')

    options, arguments = parser.parse_known_args()

    arguments.insert(0, os.path.join(options.binary_dir, 'gtkdoc-mkhtml2'))

    if options.change_dir is not None:
        if not os.path.exists(options.change_dir):
            os.makedirs(options.change_dir)

    if not options.html_assets is None:
        for html_asset in options.html_assets.split('@@'):
            if options.change_dir is not None:
                html_target = os.path.join(options.change_dir, os.path.basename(html_asset))
            else:
                html_target = os.path.join(os.getcwd(), os.path.basename(html_asset))
            shutil.copyfile(html_asset, html_target)

    sys.exit(call(arguments, cwd=options.change_dir))