X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/05f67adb27390c7a9cf214e83550d3bbca88c8f2..30f09936467f85de2fc76debdd43a6d6ff38f7f3:/apps/cover/models.py?ds=sidebyside diff --git a/apps/cover/models.py b/apps/cover/models.py index 0aeddb4a..d4432c2c 100644 --- a/apps/cover/models.py +++ b/apps/cover/models.py @@ -4,7 +4,6 @@ # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # import re -from urllib2 import urlopen from urlparse import urljoin from django.conf import settings from django.core.files.base import ContentFile @@ -12,16 +11,18 @@ from django.db import models from django.db.models.signals import post_save from django.dispatch import receiver from django.utils.translation import ugettext_lazy as _ +from django.contrib.sites.models import Site +from cover.utils import URLOpener class Image(models.Model): - title = models.CharField(max_length=255) - author = models.CharField(max_length=255) - license_name = models.CharField(max_length=255) - license_url = models.URLField(max_length=255, blank=True) - source_url = models.URLField() - download_url = models.URLField(unique=True) - file = models.ImageField(upload_to='cover/image', editable=False) + title = models.CharField(max_length=255, verbose_name=_('title')) + author = models.CharField(max_length=255, verbose_name=_('author')) + license_name = models.CharField(max_length=255, verbose_name=_('license name')) + license_url = models.URLField(max_length=255, blank=True, verbose_name=_('license URL')) + source_url = models.URLField(verbose_name=_('source URL'), null = True) + download_url = models.URLField(unique=True, verbose_name=_('image download URL'), null = True) + file = models.ImageField(upload_to='cover/image', editable=True, verbose_name=_('file')) class Meta: verbose_name = _('cover image') @@ -34,11 +35,14 @@ class Image(models.Model): def get_absolute_url(self): return ('cover_image', [self.id]) + def get_full_url(self): + return "http://%s%s" % (Site.objects.get_current().domain, self.get_absolute_url()) + @receiver(post_save, sender=Image) def download_image(sender, instance, **kwargs): if instance.pk and not instance.file: - t = urlopen(instance.download_url).read() + t = URLOpener().open(instance.download_url).read() instance.file.save("%d.jpg" % instance.pk, ContentFile(t)) \ No newline at end of file