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
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
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)