Ejemplo n.º 1
0
 def test_without_license(self):
     if geoip2_manager is None:
         self.skipTest("external module geoip-tools not available")
         return
     with patch('proxy_db.countries.geoip2_manager.is_license_key_available', return_value=False) as m:
         self.assertEqual(ip_country('proxy'), '')
         m.__getitem__.assert_not_called()
Ejemplo n.º 2
0
 def test_address_not_found(self, m):
     try:
         from geoip2.errors import AddressNotFoundError
     except ImportError:
         self.skipTest("external module geoip2 not available")
         return
     m.__getitem__.side_effect = AddressNotFoundError
     self.assertEqual(ip_country('proxy'), '')
Ejemplo n.º 3
0
 def process_proxies(self, proxies):
     session = create_session()
     for proxy in proxies:
         instance, exists = get_or_create(session, Proxy, defaults=dict(votes=0),
                                          id='http://{}'.format(proxy['proxy']))
         if not instance.country:
             instance.country = ip_country(get_domain(instance.id))
         instance.votes += UPDATE_VOTES
     session.commit()
     return proxies
Ejemplo n.º 4
0
 def process_proxies(self,
                     proxies,
                     session=None,
                     update_votes=UPDATE_VOTES):
     session = session or create_session()
     proxy_instances = []
     for proxy in proxies:
         protocol = proxy.get('protocol', 'http')
         instance, exists = get_or_create(session,
                                          Proxy,
                                          defaults=dict(votes=0,
                                                        protocol=protocol),
                                          id='{}://{}'.format(
                                              protocol, proxy['proxy']))
         if not instance.country:
             detected_country = ip_country(get_domain(instance.id))
             instance.country = detected_country or proxy.get(
                 'country_code') or ''
         instance.votes += update_votes
         proxy_instances.append(instance)
     session.commit()
     return proxy_instances
Ejemplo n.º 5
0
 def test_ip_country(self, m):
     ip_country('proxy')
     m.__getitem__.assert_called_once()