def upload_status(item): item['first_created'] = unixto_string(item.get('first_created')) item['last_modified'] = unixto_string(item.get('last_modified')) server_names = [_LOCAL, _EC2] for server in server_names: last_release_server = "last_release_%s" % server if item.get(last_release_server): item[last_release_server] = unixto_string( item.get(last_release_server)) else: item[last_release_server] = '' return item
def get_userlog(req_query={}, db='usermanage'): # db = _DB return_data = {} cond = search_cond(req_query) client = MongoClient(host=USER_DBIP, port=27017) userlog = client[db]['userlog'] pageindex = req_query.get('index') pagesize = req_query.get('limit') sort_field = req_query.get('sort_field', '_id') sort_way = req_query.get('sort_way', -1) total = userlog.find(cond).count() raw_res = userlog.find( cond).sort(sort_field, sort_way).skip( pageindex * pagesize).limit(pagesize) log_list = [] for res in raw_res: new_dict = { 'id': res.get('_id'), 'username': res.get('username'), 'optime': unixto_string(res.get('optime')), 'appname': res.get('appname'), 'modelname': res.get('modelname'), 'action': res.get('action'), 'modelid': res.get('modelid'), 'modeltitle': res.get('modeltitle'), 'memo': res.get('memo')} log_list.append(new_dict) return_data['results'] = log_list return_data['total'] = total return return_data
def icon_get(appname, iconid): cond = {"_id": iconid} icon = Icon.find_one(appname, cond, Icon.fields) if not icon: return json_response_error(PARAM_ERROR, msg='%s not in db' % (iconid)) icon["id"] = icon.pop("_id") icon["last_modified"] = unixto_string(icon.get("last_modified")) return json_response_ok(icon)
def user_list(appname, page=0, page_size=PAGE_SIZE, searchKeyword=None): """ list api for show user list. Request URL: /appname/auth/user/list Http Method: GET Parameters : None Return : { "status":0 "data":{ "items":[ { "_id":"2", "user_name":"admin", "email":"*****@*****.**", "permission_list":[19,20,21,22] }, { "_id":4, "user_name":"translator", "email":"*****@*****.**", "permission_list":[22,23] } ] } } """ cond = {} if searchKeyword: cond = search_cond(appname, searchKeyword) fields = {"password": 0, "super": 0, "permission_list": 0, "department": 0, "is_superuser": 0} sort = [("last_login", -1)] user_cursor = User.find_users(appname, cond, fields) if sort is not None: user_cursor = user_cursor.sort(sort) user_cursor = user_cursor.skip(page * page_size).limit(page_size) total = User.find_users(appname, cond).count() users = [] for item in user_cursor: item["id"] = item.pop("_id") item["last_login"] = unixto_string(item.get("last_login")) item["role"] = get_role(appname, item["group_id"]) users.append(item) data = {} data.setdefault("items", users) data.setdefault("total", total) return json_response_ok(data)
def common_list(appname, modelname, query_dict): model_list = [] page_models = CommonBase.list_base(appname, modelname, query_dict) items = page_models['results'] total = page_models['total'] for item in items: if item.get('aosruledata'): item.update( CommonBase.fetch_lcpn(appname, item.get('aosruledata'))) item['first_created'] = unixto_string(item.get('first_created')) item['last_modified'] = unixto_string(item.get('last_modified')) if item.get('last_release_ec2'): item['last_release_ec2'] = unixto_string( item.get('last_release_ec2')) else: item['last_release_ec2'] = '' if item.get('icon') is not None: item["icon"] = get_icon_url(appname, item['icon']['id']) model_list.append(item) data = {} data['total'] = total data['items'] = model_list return json_response_ok(data, msg='get model list')
def update_status_by_id(appname, projectname, modulename, id, status): coll = get_coll_by_module(appname, projectname, modulename) cond = {"_id": id} field = { "_id": 0, "checked": 1, "last_modified": 1, "upload_local": 1, "upload_ec2": 1} info = ArmoryMongo[projectname][coll].find_one(cond, field) if info: info["checked"] = status info["last_modified"] = now_timestamp() ArmoryMongo[projectname][coll].update(cond, {'$set': info}) info["release"] = get_status(info) info["last_modified"] = unixto_string(info["last_modified"]) info["id"] = id return info else: return None
def info_mod(appname, MODELNAME, data): info_id = data.pop("id") old_info = MODELNAME.find_one(appname, {"title": data["title"]}) if old_info and old_info["_id"] != info_id: return json_response_error(PARAM_ERROR, msg="the title exist") cond = {"_id": info_id} info = MODELNAME.find_one(appname, cond, MODELNAME.fields) if not info: return json_response_error(PARAM_ERROR, "invalid id: %s" % info_id) data["last_modified"] = now_timestamp() MODELNAME.update(appname, cond, data) _LOGGER.info("update %s:%s success", MODELNAME.model_name, info_id) data["last_modified"] = unixto_string(data.get("last_modified")) data["id"] = info_id return json_response_ok(data)
def user_info(appname, gid): """ get user info by group id Parameters : groupid Return : { "items":[ { "id":2, "user_name":"*****@*****.**", "role":[19,20,21,22], "last_login":"******", "total_login": 2, "mark": "" }, { "id":2, "user_name":"*****@*****.**", "role":[19,20,21,22], "last_login":"******", "total_login": 2, "mark": "" } ] } """ cond = {"group_id": gid} fields = {"password": 0, "super": 0, "permission_list": 0, "department": 0, "is_superuser": 0} sort = [("last_login", -1)] user_cursor = User.find_users(appname, cond, fields).sort(sort) users = [] for item in user_cursor: item["id"] = item.pop("_id") item["last_login"] = unixto_string(item.get("last_login")) item["role"] = get_role(appname, item["group_id"]) users.append(item) return users
def get_list_page_info(item): item["id"] = item.pop("_id") item["first_created"] = unixto_string(item.get("first_created")) item["last_modified"] = unixto_string(item.get("last_modified")) return item