def test_get_crab(self): r = TestRegistry() G = CrabGateway(crab_factory()) r.registerUtility(G, ICrab) G2 = get_crab(r) self.assertIsInstance(G, CrabGateway) self.assertIsInstance(G2, CrabGateway) self.assertEqual(G, G2)
def test_build_crab_default_settings(self): r = TestRegistry() G = CrabGateway(crab_factory()) r.registerUtility(G, ICrab) G2 = _build_crab(r, {}) self.assertIsInstance(G, CrabGateway) self.assertIsInstance(G2, CrabGateway) self.assertEqual(G, G2)
def setup_method(self, method): self.crab_client = crab_factory() self.crab = CrabGateway(self.crab_client, cache_config={ 'permanent.backend': 'dogpile.cache.memory', 'permanent.expiration_time': 86400, 'long.backend': 'dogpile.cache.memory', 'long.expiration_time': 3600, 'short.backend': 'dogpile.cache.memory', 'short.expiration_time': 600, })
def _build_crab(registry, settings): crab = registry.queryUtility(ICrab) if crab is not None: return crab if 'cache_config' in settings: cache_config = settings['cache_config'] del settings['cache_config'] else: cache_config = {} factory = crab_factory(**settings) gateway = CrabGateway(factory, cache_config=cache_config) registry.registerUtility(gateway, ICrab) return registry.queryUtility(ICrab)
def test_override_wsdl(self): wsdl = "http://crab.agiv.be/wscrab/wscrab.svc?wsdl" self.crab = crab_factory(wsdl=wsdl) assert self.crab.wsdl.url == wsdl
def setup_method(self, method): self.crab = crab_factory()
# -*- coding: utf-8 -*- ''' This script demonstrates using the crab gateway to get a single `huisnummer` by id. ''' from crabpy.client import crab_request, crab_factory from crabpy.gateway.crab import CrabGateway g = CrabGateway(crab_factory()) huisnummer = g.get_huisnummer_by_id(4254655) print("%s: %s" % (huisnummer.id, huisnummer.postadres))
def test_override_wsdl(self): wsdl = "http://crab.agiv.be/wscrab/wscrab.svc?wsdl" self.crab = crab_factory( wsdl=wsdl ) assert self.crab.wsdl.url == wsdl
def setUp(self): self.crab = crab_factory()
# -*- coding: utf-8 -*- ''' This script demonstrates using the crab client directly or through the :func:`crabpy.client.crab_request` function. ''' from crabpy.client import crab_factory, crab_request crab = crab_factory() res = crab.service.ListGemeentenByGewestId(1) print(res) res = crab.service.ListPostkantonsByGemeenteId(71) print(res) res = crab_request(crab, 'ListGemeentenByGewestId', 1) print(res) res = crab_request(crab, 'ListHuisnummersWithStatusByStraatnaamId', 18618) print(res) res = crab_request(crab, 'GetStraatnaamWithStatusByStraatnaamId', 18618) print(res)
# -*- coding: utf-8 -*- ''' This script demonstrates using the crab gateway to get information about the position of an `adres`. ''' from crabpy.client import crab_factory from crabpy.gateway.crab import CrabGateway g = CrabGateway(crab_factory()) straat = g.get_straat_by_id(48086) print(str(straat)) for h in straat.huisnummers: print("\t* %s" % h) for ap in h.adresposities: print("\t\t* %s: %s" % (ap.herkomst, ap.geometrie))
# -*- coding: utf-8 -*- ''' This script show how to connect to the WS-WRAB service through a proxy. ''' from crabpy.client import crab_factory crab = crab_factory( proxy={ 'http': 'http://proxy.example.com:3128', 'https': 'https://httpsproxy.example.com:3128' } ) print(crab.service.ListGemeentenByGewestId(1))
This script demonstrates querying the crab gateway while maintaining a cache. ''' import os from crabpy.client import crab_factory from crabpy.gateway.crab import CrabGateway root = "./dogpile_data/" if not os.path.exists(root): os.makedirs(root) g = CrabGateway( crab_factory(), cache_config={ 'permanent.backend': 'dogpile.cache.dbm', 'permanent.expiration_time': 604800, 'permanent.arguments.filename': os.path.join(root, 'crab_permanent.dbm'), 'long.backend': 'dogpile.cache.dbm', 'long.expiration_time': 86400, 'long.arguments.filename': os.path.join(root, 'crab_long.dbm') } ) aartselaar = g.get_gemeente_by_id(1) print('Straten in AARTSELAAR') print('---------------------')