letsencrypt/trustify.py
2013-05-23 22:11:15 -04:00

71 lines
2 KiB
Python

#!/usr/bin/env python
# This file parses the command line and calls the appropriate functions
import getopt
import os
import sys
from trustify.client import client
def main():
# Check to make sure user is root
if not os.geteuid() == 0:
sys.exit("\nOnly root can run trustify.\n")
# Parse options
try:
opts, args = getopt.getopt(sys.argv[1:], "", ["text", "test", "view-checkpoints", "privkey=", "csr=", "server=", "rollback="])
except getopt.GetoptError as err:
# print help info and exit
print str(err)
usage()
sys.exit(2)
server = None
csr = None
privkey = None
curses = True
names = args
for o, a in opts:
if o == "--text":
curses = False
elif o == "--csr":
csr = a
elif o == "--privkey":
privkey = a
elif o == "--server":
server = a
elif o == "--rollback":
from trustify.client import configurator, logger
logger.setLogger(logger.FileLogger(sys.stdout))
logger.setLogLevel(logger.INFO)
config = configurator.Configurator()
config.rollback_checkpoints(a)
config.restart()
sys.exit(0)
elif o == "--view-checkpoints":
from trustify.client import configurator, logger
logger.setLogger(logger.FileLogger(sys.stdout))
logger.setLogLevel(logger.INFO)
config = configurator.Configurator()
config.display_checkpoints()
sys.exit(0)
elif o == "--test":
#put any temporary tests in here
continue
if not server:
if "CHOCOLATESERVER" in os.environ:
server = os.environ["CHOCOLATESERVER"]
else:
server = "ca.theobroma.info"
c = client.Client(server, args, csr, privkey, curses)
c.authenticate()
def usage():
print "Available options: --text, --privkey=, --csr=, --server=, --rollback=, --view-checkpoints"
if __name__ == "__main__":
main()