#!/usr/bin/python
from __future__ import print_function,division

import argparse
import logging
import os

from lets_enc import get_cert

arg_parser = argparse.ArgumentParser()
arg_parser.add_argument("-p","--path", required=False, help="Path where certificate files are/will be stored")
arg_parser.add_argument("-d","--domain", required=True, help="The domain to be signed")
arg_parser.add_argument("--acme-dir", required=True, help="path to the .well-known/acme-challenge/ directory")
arg_parser.add_argument("-t","--lifetime", type=float, required=False, help="Minimum remaining cert lifetime (days)")

args = arg_parser.parse_args()

def store_challenge(path,data=None):
    path = os.path.join(args.acme_dir,path)
    if data is not None:
        with open(path,"wb") as f:
            f.write(data)
    else:
        os.unlink(path)

d={}
if args.path:
    d['path'] = args.path
if args.lifetime:
    d['lifetime'] = args.lifetime*3600*24
c,k,d = get_cert(args.domain, store_challenge, **d)
print("CERTFILE",c)
print("KEYFILE",k)
print("EXPIRES", "%.1f"%(d/3600/24-0.5)) # round down

