Set User-Agent when downloading covers.
authorRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Fri, 7 Sep 2012 11:30:29 +0000 (13:30 +0200)
committerRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Fri, 7 Sep 2012 11:30:29 +0000 (13:30 +0200)
apps/cover/models.py
apps/cover/utils.py [new file with mode: 0755]

index 14026ac..6900e78 100644 (file)
@@ -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
@@ -13,6 +12,7 @@ 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):
@@ -42,7 +42,7 @@ class Image(models.Model):
 @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
diff --git a/apps/cover/utils.py b/apps/cover/utils.py
new file mode 100755 (executable)
index 0000000..7615d22
--- /dev/null
@@ -0,0 +1,13 @@
+# -*- coding: utf-8 -*-
+#
+# This file is part of FNP-Redakcja, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
+from urllib import FancyURLopener
+from django.contrib.sites.models import Site
+
+
+class URLOpener(urllib.FancyURLopener):
+    @property
+    def version(self):
+        return 'FNP Redakcja (http://%s)' % Site.objects.get_current()