Esempio n. 1
0
 def get_attribute(self, instance):
     _instance = instance.get_real_instance()
     if hasattr(_instance,
                'embed_url') and _instance.embed_url != NotImplemented:
         return build_absolute_uri(_instance.embed_url)
     else:
         return ""
Esempio n. 2
0
    def test_embed_urls(self):
        """
        Ensure the embed urls reflect the concrete instance ones.
        """
        # Admin
        self.assertTrue(self.client.login(username='******', password='******'))

        resources = ResourceBase.objects.all()
        for resource in resources:
            url = reverse('base-resources-detail', kwargs={'pk': resource.pk})
            response = self.client.get(url, format='json')
            if resource.title.endswith('metadata true'):
                self.assertEqual(response.status_code, 404)
            else:
                self.assertEqual(response.status_code, 200)
                self.assertEqual(int(response.data['resource']['pk']), int(resource.pk))
                embed_url = response.data['resource']['embed_url']
                self.assertIsNotNone(embed_url)

                instance = resource.get_real_instance()
                if hasattr(instance, 'embed_url'):
                    if instance.embed_url != NotImplemented:
                        self.assertEqual(build_absolute_uri(instance.embed_url), embed_url)
                    else:
                        self.assertEqual("", embed_url)
Esempio n. 3
0
 def get_attribute(self, instance):
     try:
         func = getattr(instance, f"get_{self.type}_url")
         return build_absolute_uri(func())
     except AttributeError as e:
         logger.exception(e)
         return None
Esempio n. 4
0
    def get_attribute(self, instance):
        thumbnail_url = instance.thumbnail_url
        if hasattr(instance, 'curatedthumbnail'):
            try:
                if hasattr(instance.curatedthumbnail.img_thumbnail, 'url'):
                    thumbnail_url = instance.curatedthumbnail.thumbnail_url
            except Exception as e:
                logger.exception(e)

        return build_absolute_uri(thumbnail_url)
Esempio n. 5
0
 def to_representation(self, instance):
     data = super().to_representation(instance)
     try:
         path = reverse(self.Meta.view_name)
         if not path.endswith('/'):
             path = f"{path}/"
         url = urljoin(path, str(instance.pk))
         data['link'] = build_absolute_uri(url)
     except NoReverseMatch as e:
         logger.exception(e)
     return data
Esempio n. 6
0
 def get_attribute(self, instance):
     return build_absolute_uri(instance.detail_url)
Esempio n. 7
0
 def get_attribute(self, instance):
     return build_absolute_uri(avatar_url(instance, self.avatar_size))