def __init__(self, dao_ariane=None, project_path=None):
     if dao_ariane is None:
         raise err.CommandError("Ariane DAO not provided.")
         # ERROR
         # with open(project_path+module_name+'/ariane_relsrv/server/misc/confsrv.json', 'r') as target:
         #     Command.conf = json.load(target)
         # if Command.conf is None:
         #     raise err.CommandError("GraphDB login file can not be read. It should be '(GraphDB_name)_login.json")
         # Command.ariane = ariane_delivery.DeliveryTree({"login": Command.conf["NEO4J_LOGIN"],
         # "password": Command.conf["NEO4J_PASSWORD"], "type": "neo4j"})
         # Command.g = generator.Generator(Command.ariane, {"outputs": project_path, "templates": project_path})
     else:
         if project_path is None:
             raise err.CommandError("Ariane project path not provided.")
             pass
         else:
             Command.dao_ariane = dao_ariane
             Command.project_path = project_path
             Command.gen = Generator(Command.dao_ariane, {
                 "outputs": project_path, "templates": project_path
             })
             ArianeDefinitions.set_project_abs_path(project_path)
        exit(1)

    setup_logging(RELMGR_CONFIG.log_file)
    LOGGER = logging.getLogger(__name__)
    try:
        ariane = modelAndServices.DeliveryTree({"login": RELMGR_CONFIG.neo4j_login,
                                                "password": RELMGR_CONFIG.neo4j_password,
                                                "host": RELMGR_CONFIG.neo4j_host,
                                                "port": RELMGR_CONFIG.neo4j_port,
                                                "type": "neo4j"})
        from ariane_relsrv.server import restful
        myglobals = {"conf": RELMGR_CONFIG, "delivery_tree": ariane, "project_path": project_path,
                     "relmgr_path": relmgr_path}
        # TODO: REMOVE LOOP DEPENDENCIES
        if RELMGR_CONFIG.testing or args.command == "relmgr":
            ArianeDefinitions.set_project_abs_path(project_path)
            restful.start_relmgr(myglobals)
        elif args.command in ["passwd", "add_user"]:
            if args.username and args.password:
                from ariane_relsrv.server.usersMgr import User
                User.users_file = RELMGR_CONFIG.users_file
                if args.command == "passwd":
                    LOGGER.info("changing " + args.username + " password to " + args.password)
                    ret = User.change_password(args.username, args.password)
                    if ret == 0:
                        LOGGER.info("Password of '"+args.username+"' has been changed")
                    else:
                        LOGGER.warn("The password has not been changed")
                elif args.command == "add_user":
                    LOGGER.info("Adding user " + args.username)
                    ret = User.create_user(args.username, args.password)