Skip to content

Commit

Permalink
Merge pull request #52 from OnroerendErfgoed/51_fix_adrespositie
Browse files Browse the repository at this point in the history
fix adrespositie refs #51
  • Loading branch information
Talissa Joly committed Apr 9, 2015
2 parents e43e67b + 94dd72c commit 3628544
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 6 deletions.
17 changes: 14 additions & 3 deletions crabpy/gateway/crab.py
Original file line number Diff line number Diff line change
Expand Up @@ -1316,7 +1316,7 @@ def creator():
else:
adrespositie = creator()
adrespositie.set_gateway(self)
return creator()
return adrespositie


class GatewayObject(object):
Expand Down Expand Up @@ -2426,7 +2426,7 @@ def wrapper(*args):
adrespositie.check_gateway()
a = adrespositie.gateway.get_adrespositie_by_id(adrespositie.id)
adrespositie._geometrie = a._geometrie
adrespositie._aard = a._aard
adrespositie.aard_id = a.aard_id
adrespositie._metadata = a._metadata
return f(*args)
return wrapper
Expand Down Expand Up @@ -2455,7 +2455,12 @@ def __init__(
self.herkomst_id = herkomst
self._herkomst = None
self._geometrie = geometrie
self._aard = aard
try:
self.aard_id = aard.id
self._aard = aard
except AttributeError:
self.aard_id = aard
self._aard = None
self._metadata = metadata
super(Adrespositie, self).__init__(**kwargs)

Expand All @@ -2482,6 +2487,12 @@ def geometrie(self):
@property
@check_lazy_load_adrespositie
def aard(self):
if self._aard is None:
res = self.gateway.list_aardadressen()
log.debug(res)
for aard in res:
if int(aard.id) == int(self.aard_id):
self._aard = aard
return self._aard

def __unicode__(self):
Expand Down
6 changes: 3 additions & 3 deletions crabpy/tests/gateway/test_crab.py
Original file line number Diff line number Diff line change
Expand Up @@ -1858,8 +1858,8 @@ def test_fully_initialised(self):
self.assertEqual(a.id, 4087928)
self.assertEqual(a.herkomst_id, 2)
a.set_gateway(CrabGateway(crab_factory()))
self.assertEqual(a.geometrie, 'POINT(190705.34 224675.26)')
self.assertEqual(a.aard, 2)
self.assertEqual(str(a.geometrie), str('POINT (190705.34 224675.26)'))
self.assertEqual(int(a.aard.id), 2)
self.assertIsInstance(a.metadata, Metadata)
self.assertEqual(a.metadata.begin_datum, '1830-01-01 00:00:00')
self.assertEqual('Adrespositie 4087928', str(a))
Expand All @@ -1883,7 +1883,7 @@ def test_lazy_load(self):
self.assertEqual(a.id, 4087928)
self.assertEqual(a.herkomst_id, 2)
self.assertEqual(str(a.geometrie), str('POINT (190705.34 224675.26)'))
self.assertEqual(a.aard, 2)
self.assertEqual(int(a.aard.id), 2)
self.assertIsInstance(a.metadata, Metadata)
self.assertEqual(a.metadata.begin_datum, '1830-01-01 00:00:00')

Expand Down

0 comments on commit 3628544

Please sign in to comment.