Example #1
0
def run():
    parser = get_parser()
    options = parser.parse_args()
    
    log_level = logging.WARNING
    if options.verbose:
        log_level = logging.DEBUG
    
    baron = Baron()

    if options.start or options.stop or options.restart:
        pid_file = os.path.join(options.repository, "daemon.pid")
        baron.ensure_pid_path(pid_file, options.user or "")
        if options.restart:
            baron.stop_daemon(pid_file)
        
        if options.stop:
            baron.stop_daemon(pid_file)
            return
        
        pid = baron.start_daemon(pid_file, working_dir=options.repository)
    
    if os.geteuid() == 0:
        baron.fork()
    
    if options.user:
        baron.set_owner(options.user)
        
    node = LocalNode(options.repository, log_level=log_level, baron=baron, address=options.address)
    
    node.serve()