def wrapper(*args, **kwargs): # check projectname args projectname = kwargs.get("projectname") if projectname: if projectname not in NAV_DICT.keys(): return json_response_error( PARAM_ERROR, msg="invalid projectname: %s" % projectname) # check appname args appname = kwargs.get("appname") if appname not in MONGO_CONFIG: return json_response_error( PARAM_ERROR, msg="appname error, check url") # check applabel args applabel = kwargs.get("applabel") if applabel: app_cond = {'name': applabel, "app_name": projectname} if not App.find_one(appname, app_cond): return json_response_error( PARAM_ERROR, msg="the app label not exist") # check module args module = kwargs.get("module") if module: module_cond = {'module_name': module, "app_name": projectname} if not Module.find_one(appname, module_cond): return json_response_error( PARAM_ERROR, msg="the app module not exist") # check id args id = kwargs.get("id") if id: try: id = int(id) except ValueError: return json_response_error(PARAM_ERROR, msg="id error") return func(*args, **kwargs)
def get_module_value(appname, projectname, module_name): cond = {"module_name": module_name, "app_name": projectname} fields = {"module_value": 1} module = Module.find_one(appname, cond, fields) return module.get("module_value")