2017-03-27 09:02:05 +01:00
|
|
|
import logging
|
2017-03-29 18:26:54 +01:00
|
|
|
from md_pdf.args import parse_args
|
2017-05-03 21:10:18 +01:00
|
|
|
from md_pdf.exceptions import BaseException
|
2017-04-04 21:44:17 +01:00
|
|
|
from md_pdf.logging import set_verbosity
|
2017-03-29 18:26:54 +01:00
|
|
|
from md_pdf.build import build
|
|
|
|
from md_pdf.config.read import load_config
|
2017-03-29 18:43:35 +01:00
|
|
|
from md_pdf.config.validate import validate_config
|
2017-03-29 22:18:01 +01:00
|
|
|
from md_pdf.csl import check_csl, download_csl
|
2017-03-27 09:02:05 +01:00
|
|
|
|
|
|
|
|
|
|
|
def cli():
|
2017-03-29 18:26:54 +01:00
|
|
|
args = parse_args()
|
2017-04-04 21:44:17 +01:00
|
|
|
set_verbosity(args)
|
2017-03-29 18:26:54 +01:00
|
|
|
try:
|
2017-03-29 22:18:01 +01:00
|
|
|
if args.update_csl:
|
|
|
|
download_csl()
|
|
|
|
return 0
|
|
|
|
check_csl()
|
2017-03-29 18:26:54 +01:00
|
|
|
config = load_config()
|
2017-03-29 18:43:35 +01:00
|
|
|
validate_config(config)
|
2017-03-29 19:16:12 +01:00
|
|
|
build(config)
|
|
|
|
except BaseException as e:
|
2017-03-29 18:26:54 +01:00
|
|
|
logging.error(str(e))
|
|
|
|
return 1
|
2017-04-04 19:52:25 +01:00
|
|
|
except KeyboardInterrupt:
|
|
|
|
logging.error("Aborted.")
|
|
|
|
return 1
|
2017-03-29 18:26:54 +01:00
|
|
|
return 0
|