Esempio n. 1
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()
Esempio n. 2
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()
Esempio n. 3
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()