Exemplo n.º 1
0
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()
Exemplo n.º 2
0
 def getActiveRasIPs(self, request):
     request.needAuthType(request.ADMIN)
     creator_obj = request.getAuthNameObj()
     creator_obj.canDo("LIST RAS")
     sorted = SortedList(ras_main.getLoader().getAllRasIPs())
     sorted.sort(False)
     return sorted.getList()
Exemplo n.º 3
0
    def getActiveRasIPs(self,request):
	request.needAuthType(request.ADMIN)
	creator_obj=request.getAuthNameObj()
	creator_obj.canDo("LIST RAS")
	sorted=SortedList(ras_main.getLoader().getAllRasIPs())
	sorted.sort(False)
	return sorted.getList()
Exemplo n.º 4
0
 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()
Exemplo n.º 5
0
    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()
Exemplo n.º 6
0
    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()
Exemplo n.º 7
0
    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()
Exemplo n.º 8
0
 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()
Exemplo n.º 9
0
 def getAllAdminUsernames(self, request):
     request.needAuthType(request.ADMIN)
     try:
         request.getAuthNameObj().canDo("SEE ADMIN INFO")
     except PermissionException:
         return [request.getAuthNameObj().getUsername()]
     usernames = admin_main.getLoader().getAllUsernames()
     sorted = SortedList(usernames)
     sorted.sort(0)
     return sorted.getList()
Exemplo n.º 10
0
 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()
Exemplo n.º 11
0
 def getRasTypes(self, request):
     """
         return a list of all available ras types
     """
     request.needAuthType(request.ADMIN)
     creator_obj = request.getAuthNameObj()
     creator_obj.canDo("GET RAS INFORMATION")
     type_list = ras_main.getFactory().getAllTypes()
     sorted = SortedList(type_list)
     sorted.sort(False)
     return sorted.getList()
Exemplo n.º 12
0
    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()
Exemplo n.º 13
0
    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()
Exemplo n.º 14
0
 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.sortByValueDicKey("tariff_name",False)
     return sorted.getList()
Exemplo n.º 15
0
    def getRasIPpools(self,request):    
	"""
	    return a sorted list of ip pool names
	"""
	request.needAuthType(request.ADMIN)
	request.getAuthNameObj().canDo("GET RAS INFORMATION")
    	request.checkArgs("ras_ip")
	ippool_ids=ras_main.getLoader().getRasByIP(request["ras_ip"]).getIPpools()
	ippool_names=map(lambda ippool_id:ippool_main.getLoader().getIPpoolByID(ippool_id).getIPpoolName(),ippool_ids)
	sorted=SortedList(ippool_names)
	sorted.sort(0)
	return sorted.getList()
Exemplo n.º 16
0
    def listGroups(self,request):
        """
            return a list of group names, that requester admin has access to
        """
        request.needAuthType(request.ADMIN)
        requester=request.getAuthNameObj()
        group_names=group_main.getLoader().getAllGroupNames()
        group_names = filter(requester.canUseGroup,group_names) 

        sorted_group_names = SortedList(group_names)
        sorted_group_names.sort(False)

        return sorted_group_names.getList()
Exemplo n.º 17
0
 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()
Exemplo n.º 18
0
    def getLeafCharges(self, request):
        """
            return a list of charge_names that "leaf_name" used in
        """
        request.needAuthType(request.ADMIN)
        request.getAuthNameObj().canDo("CHANGE BANDWIDTH MANGER")
        request.checkArgs("leaf_name")

        leaf_obj = bw_main.getLoader().getLeafByName(request["leaf_name"])
        charge_names = charge_main.getActionManager().getChargesWithBwLeaf(
            leaf_obj.getLeafID())

        sorted_charge_names = SortedList(charge_names)
        sorted_charge_names.sort(False)
        return sorted_charge_names.getList()
Exemplo n.º 19
0
 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()
Exemplo n.º 20
0
    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() 
Exemplo n.º 21
0
    def __getPrefixesInfo(self, name_regex):
        """
            return a list of prefixes info
            name_regex(string): regular expression to match with prefix names
                                empty string means return all
        """
        if name_regex:
            pattern = re.compile(name_regex)
            prefixes = []
            for prefix_obj in self.prefixes_id.itervalues():
                if pattern.match(prefix_obj.getPrefixName()):
                    prefixes.append(prefix_obj.getInfo())
        else:
            prefixes = map(lambda prefix: prefix.getInfo(),
                           self.prefixes_id.itervalues())

        sorted = SortedList(prefixes)
        sorted.sortByValueDicKey("prefix_name", False)
        return sorted.getList()
Exemplo n.º 22
0
    def listCharges(self, request):
        """
            return a list of charge names

            NOTE: this handler take care of admin permissions and return only charges that admin
                  has access to

            type(string,optional): type of charges                
        """
        request.needAuthType(request.ADMIN)
        requester = request.getAuthNameObj()
        charge_names = charge_main.getLoader().getAllChargeNames()

        def filter_func(charge_name):
            if request.has_key("charge_type") and charge_main.getLoader(
            ).getChargeByName(charge_name).getType() != request["charge_type"]:
                return False
            return requester.canUseCharge(charge_name)

        charge_names = filter(filter_func, charge_names)

        sorted_charge_names = SortedList(charge_names)
        sorted_charge_names.sort(False)
        return sorted_charge_names.getList()
Exemplo n.º 23
0
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()
Exemplo n.º 24
0
    def getIPpoolNames(self,request):
	request.needAuthType(request.ADMIN)
	request.getAuthNameObj().canDo("LIST IPPOOL")
	sorted=SortedList(ippool_main.getLoader().getAllIPpoolNames())
	sorted.sort(False)
	return sorted.getList()
Exemplo n.º 25
0
    def __getPrefixesInfo(self):
	prefixes=map(lambda prefix:prefix.getInfo(),self.prefixes_id.itervalues())
	sorted=SortedList(prefixes)
	sorted.sortByPostText("['prefix_name']",False)
	return sorted.getList()
Exemplo n.º 26
0
 def getIPpoolNames(self, request):
     request.needAuthType(request.ADMIN)
     request.getAuthNameObj().canDo("LIST IPPOOL")
     sorted = SortedList(ippool_main.getLoader().getAllIPpoolNames())
     sorted.sort(False)
     return sorted.getList()