#!/usr/bin/env python3

import argparse
import os

from ticterm import log

DEFAULT_SPHINX_PATH = 'sphinx-build'
DEFAULT_SOURCE      = 'docs'
DEFAULT_OUTPUT      = 'build/docs'
SPHINX_OPTS         = []

def main():
  log.config.update(verbosity=log.Level.INFO)
  
  parser = argparse.ArgumentParser()
  
  parser.add_argument('--sphinx-path', default=DEFAULT_SPHINX_PATH)
  parser.add_argument('-i', '--source', default=DEFAULT_SOURCE)
  parser.add_argument('-o', '--output', default=DEFAULT_OUTPUT)
  parser.add_argument('-v', '--verbose', action='store_true')
  
  opts, argv = parser.parse_known_args()
  
  log.info('opts:', opts)
  log.info('argv:', argv)
  
  if opts.verbose:
    log.config.update(verbosity=log.Level.DEBUG)
    log.info('Verbosity set to debug')
    
  command = ' '.join([
    opts.sphinx_path,
    '-M', 'html',
    opts.source,
    opts.output,
    *SPHINX_OPTS,
    *argv
  ])
  
  log.log('running command:', command)
  os.system(command)

if __name__ == '__main__':
  main()