From 41d4e52f84c5b560884aa38ccf830140a9ce9495 Mon Sep 17 00:00:00 2001 From: j Date: Wed, 26 Jul 2017 13:31:57 +0200 Subject: [PATCH] don't fail on removed layers --- pandora/annotation/models.py | 37 ++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/pandora/annotation/models.py b/pandora/annotation/models.py index 08219234d..6568c31db 100644 --- a/pandora/annotation/models.py +++ b/pandora/annotation/models.py @@ -330,24 +330,25 @@ class Annotation(models.Model): if self.languages: j['languages'] = self.languages.split(',') l = self.get_layer() - if l['type'] == 'entity': - try: - (j['entity'], j['value']) = self._get_entity_json( - user=user, entity_cache=entity_cache) - except: - j['entity'] = {} - elif l['type'] == 'event': - qs = self.events.all() - if qs.count() > 0: - j['event'] = qs[0].json(user=user) - else: - j['event'] = {} - elif l['type'] == 'place': - qs = self.places.all() - if qs.count() > 0: - j['place'] = qs[0].json(user=user) - else: - j['place'] = {} + if l: + if l['type'] == 'entity': + try: + (j['entity'], j['value']) = self._get_entity_json( + user=user, entity_cache=entity_cache) + except: + j['entity'] = {} + elif l['type'] == 'event': + qs = self.events.all() + if qs.count() > 0: + j['event'] = qs[0].json(user=user) + else: + j['event'] = {} + elif l['type'] == 'place': + qs = self.places.all() + if qs.count() > 0: + j['place'] = qs[0].json(user=user) + else: + j['place'] = {} if layer or (keys and 'layer' in keys): j['layer'] = self.layer