def sortOnlineUsers(onlines,sort_by,desc): sort_by_list=["user_id","normal_username","login_time_epoch","duration_secs","in_bytes","out_bytes","ras_ip","owner_name","unique_id_val","voip_username"] if sort_by not in sort_by_list: sort_by="login_time_epoch" sorted_list=SortedList(onlines) sorted_list.sortByPostText("[\"%s\"]"%sort_by,desc) return sorted_list.getList()
def getRasPorts(self,request): request.needAuthType(request.ADMIN) request.checkArgs("ras_ip") creator_obj=request.getAuthNameObj() creator_obj.canDo("GET RAS INFORMATION") sorted=SortedList(ras_main.getLoader().getRasByIP(request["ras_ip"]).getPorts().values()) sorted.sortByPostText("[\"port_name\"]",0) return sorted.getList()
def getAllDefs(self, request): request.needAuthType(request.ADMIN) request.getAuthNameObj().canDo("CHANGE IBS DEFINITIONS") def_vars = defs.getDefsLoader().getAllVars() defs_list = self.__getDefsListFromDefVars(def_vars) sorted = SortedList(defs_list) sorted.sortByPostText('["name"]', 0) return sorted.getList()
def getAllDefs(self,request): request.needAuthType(request.ADMIN) request.getAuthNameObj().canDo("CHANGE IBS DEFINITIONS") def_vars=defs.getDefsLoader().getAllVars() defs_list=self.__getDefsListFromDefVars(def_vars) sorted=SortedList(defs_list) sorted.sortByPostText('["name"]',0) return sorted.getList()
def listChargeRules(self,request): request.needAuthType(request.ADMIN) request.checkArgs("charge_name") request.getAuthNameObj().canUseCharge(request["charge_name"]) charge_rules=charge_main.getLoader().getChargeByName(request["charge_name"]).getRules() infos=map(lambda charge_rule_obj:charge_rule_obj.getInfo(),charge_rules.values()) sorted=SortedList(infos) sorted.sortByPostText('["rule_id"]',0) return sorted.getList()
def getRasPorts(self, request): request.needAuthType(request.ADMIN) request.checkArgs("ras_ip") creator_obj = request.getAuthNameObj() creator_obj.canDo("GET RAS INFORMATION") sorted = SortedList(ras_main.getLoader().getRasByIP( request["ras_ip"]).getPorts().values()) sorted.sortByPostText("[\"port_name\"]", 0) return sorted.getList()
def listChargeRules(self, request): request.needAuthType(request.ADMIN) request.checkArgs("charge_name") request.getAuthNameObj().canUseCharge(request["charge_name"]) charge_rules = charge_main.getLoader().getChargeByName( request["charge_name"]).getRules() infos = map(lambda charge_rule_obj: charge_rule_obj.getInfo(), charge_rules.values()) sorted = SortedList(infos) sorted.sortByPostText('["rule_id"]', 0) return sorted.getList()
def getPermsOfAdmin(self,request): """ return a list of dics containing admin permission and sorted by permission name each dic has "name, value, description, value_type, category" keys """ request.needAuthType(request.ADMIN) request.checkArgs("admin_username") admin_perms=admin_main.getLoader().getAdminByName(request["admin_username"]).getPerms() perms_list=self.__getPermsListFromAdminPerms(admin_perms) sorted=SortedList(perms_list) sorted.sortByPostText('["name"]',0) return sorted.getList()
def listTariffs(self,request): """ return a list of tariff infos in format [{"tariff_name":,"tariff_id":,"comment":}] note that prefixes aren't included """ request.needAuthType(request.ADMIN) request.getAuthNameObj().canDo("SEE VOIP TARIFF") tariffs=map(lambda tariff_name:tariff_main.getLoader().getTariffByName(tariff_name).getInfo(), tariff_main.getLoader().getAllTariffNames()) sorted=SortedList(tariffs) sorted.sortByPostText("['tariff_name']",False) return sorted.getList()
def getPermsOfAdmin(self, request): """ return a list of dics containing admin permission and sorted by permission name each dic has "name, value, description, value_type, category" keys """ request.needAuthType(request.ADMIN) request.checkArgs("admin_username") admin_perms = admin_main.getLoader().getAdminByName( request["admin_username"]).getPerms() perms_list = self.__getPermsListFromAdminPerms(admin_perms) sorted = SortedList(perms_list) sorted.sortByPostText('["name"]', 0) return sorted.getList()
def getAllPerms(self, request): """ return a list of dics of all perms sorted by permission name optional argument category tells handler to return only permission of specified category each dic has "name, description, value_type, category, affected_pages, dependencies" keys """ request.needAuthType(request.ADMIN) request.getAuthNameObj().canDo("CHANGE ADMIN PERMISSIONS") all_perms_dic = perm_loader.getLoader().getAllPerms() if request.has_key("category"): category = request["category"] else: category = "all" all_perms_list = self.__getPermsListFromPerms(all_perms_dic, category) sorted = SortedList(all_perms_list) sorted.sortByPostText('["name"]', 0) return sorted.getList()
def getAllPerms(self,request): """ return a list of dics of all perms sorted by permission name optional argument category tells handler to return only permission of specified category each dic has "name, description, value_type, category, affected_pages, dependencies" keys """ request.needAuthType(request.ADMIN) request.getAuthNameObj().canDo("CHANGE ADMIN PERMISSIONS") all_perms_dic=perm_loader.getLoader().getAllPerms() if request.has_key("category"): category=request["category"] else: category="all" all_perms_list=self.__getPermsListFromPerms(all_perms_dic,category) sorted=SortedList(all_perms_list) sorted.sortByPostText('["name"]',0) return sorted.getList()
def _sortOnlines(list, sort_by, desc, valid_sortbys): """ sort "list" by post text of sort_by and desc. sort_by should be in valid_sortbys or default will be chosen """ if sort_by in ("","login_time"): sort_by="login_time_epoch" elif sort_by not in valid_sortbys: toLog("SortOnlines: Invalid sort by %s %s"%(sort_by,valid_sortbys),LOG_DEBUG) sort_by="login_time_epoch" sorted_list=SortedList(list) if sort_by.startswith("attrs_"): sort_by_post_text='["attrs"]["%s"]'%sort_by[6:] sorted_list.sortByPostText(sort_by_post_text,desc) else: sorted_list.sortByValueDicKey(sort_by, desc) return sorted_list.getList()
def __getPrefixesInfo(self): prefixes=map(lambda prefix:prefix.getInfo(),self.prefixes_id.itervalues()) sorted=SortedList(prefixes) sorted.sortByPostText("['prefix_name']",False) return sorted.getList()