def getApis(db, arg): listObj = {"data": [], "total": 0} cond = "WHERE 1=1 " accountId = arg["paras"].get("accountId") start = arg["paras"].get("start") or 0 limit = arg["paras"].get("limit") or 10 keyword = arg["paras"].get("keyword") or "" type = arg["paras"].get("type") apiName = arg["paras"].get("apiName") serverTaskId = arg["paras"].get("serverTaskId") if (accountId and accountId != DEFAULT_ACCOUNT_ID): cond += "AND AT_AccountId='%s' " % (accountId) if (type): cond += "AND AT_Type='%s' " % type if (apiName): cond += "AND AT_Name LIKE '%%%s%%' " % (apiName) if (keyword): cond += "AND AT_ApiId LIKE '%%%s%%' " % (keyword) if (serverTaskId): cond += "AND AT_ServerTaskId='%s' " % serverTaskId cond += "ORDER BY AT_StartTime DESC" ret = db.select(TB_APITRACE, cond=cond, limit=int(limit), offset=int(start)) if ret == -1: ERROR("get modules list error") return (OCT_SUCCESS, listObj) hashStr = "" for dur in db.cur: obj = dbmysql.row_to_dict(TB_APITRACE, dur) api = Api(db, dbObj=obj) api.loadFromObj() obj = api.toObj() hashStr += api.myId hashStr += api.state listObj["data"].append(obj) listObj["total"] = getApiCount(db, cond=cond) listObj["hashValue"] = CRC32(hashStr) return (OCT_SUCCESS, listObj)
def getApi(db, apiId=None, apiName=None, submoduleId=None): if (not apiId): return None cond = "WHERE ID='%s'" % (apiId) dbObj = db.fetchone(TB_APITRACE, cond=cond) if (not dbObj): WARNING("module %s not exist" % cond) return None api = Api(db, dbObj=dbObj) api.loadFromObj() return api