This repository has been archived on 2023-03-26. You can view files and clone it, but cannot push or open issues or pull requests.
md-pdf/md_pdf/cli.py

31 lines
857 B
Python

import logging
from md_pdf.args import parse_args
from md_pdf.exceptions import PrematureExit, BaseException
from md_pdf.build import build
from md_pdf.config.read import load_config
from md_pdf.config.validate import validate_config
from md_pdf.csl import check_csl, download_csl
FORMAT = "[%(levelname)s]: %(message)s"
def cli():
args = parse_args()
logging.basicConfig(format=FORMAT, level=logging.WARN if args.verbose else logging.INFO)
try:
if args.update_csl:
download_csl()
return 0
check_csl()
config = load_config()
validate_config(config)
build(config)
except PrematureExit:
return 0
except BaseException as e:
logging.error(str(e))
return 1
except KeyboardInterrupt:
logging.error("Aborted.")
return 1
return 0