Example #1
0
    def get_limiter_buckets(self, active_domains, avg_links_per_page=10.0):
        available = []
        all_limiters = reversed(sorted(Limiter.get_limiters_for_domains(self.db, active_domains), key=lambda item: item.url))

        for limiter in all_limiters:
            capacity = float(limiter.value - self.get_limit_usage(limiter.url))
            available.append((limiter, capacity))

        return available
Example #2
0
    def get_limiter_buckets(self, active_domains, avg_links_per_page=10.0):
        available = []
        all_limiters = reversed(
            sorted(Limiter.get_limiters_for_domains(self.db, active_domains),
                   key=lambda item: item.url))

        for limiter in all_limiters:
            capacity = float(limiter.value - self.get_limit_usage(limiter.url))
            available.append((limiter, capacity))

        return available
Example #3
0
    def test_get_limiters_for_domains(self):
        self.db.query(Limiter).delete()
        self.db.query(Domain).delete()

        for i in range(2):
            DomainFactory.create()

        value = 2
        url = 'http://globo.com/'
        Limiter.add_or_update_limiter(self.db, url, value)

        DomainFactory.create(url=url, name='globo.com')

        active_domains = self.db.query(Domain).all()

        domains = Limiter.get_limiters_for_domains(self.db, active_domains)

        expect(domains).to_length(1)
        expect(str(domains[0])).to_equal(url)