summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuval Adam <yuv.adm@gmail.com>2014-01-28 00:24:55 +0200
committerYuval Adam <yuv.adm@gmail.com>2014-01-28 00:24:55 +0200
commit7da57cadd6dbdfbee482bf6f4ebbd2037ed11952 (patch)
treeccb21884a06986316808c9f54dfe8ed5e168f440
parent05bc0e3383f65153199fac1fec9711506beb6708 (diff)
Preload article thumbnails
-rw-r--r--newsdiff/core/parsers/haaretz.py3
-rw-r--r--newsdiff/core/tasks.py7
2 files changed, 9 insertions, 1 deletions
diff --git a/newsdiff/core/parsers/haaretz.py b/newsdiff/core/parsers/haaretz.py
index 1b6747b..30eae33 100644
--- a/newsdiff/core/parsers/haaretz.py
+++ b/newsdiff/core/parsers/haaretz.py
@@ -8,6 +8,7 @@ from django.db import transaction
from .base import HtmlSoupParser
from ..models import HaaretzArticle, HaaretzImage
+from ..tasks import preload_thumbnail
from ..utils import get_file_from_url
@@ -70,6 +71,8 @@ class HaaretzParser(HtmlSoupParser):
article_image.image.save(name, image_file)
article_image.save()
+ preload_thumbnail.delay(article_image.image, '150x120')
+
def clean_article_href(self, href):
href = href.replace('.premium-', '').split('#')[0]
return super(HaaretzParser, self).clean_article_href(href)
diff --git a/newsdiff/core/tasks.py b/newsdiff/core/tasks.py
index 784fd28..4646089 100644
--- a/newsdiff/core/tasks.py
+++ b/newsdiff/core/tasks.py
@@ -3,6 +3,7 @@ import logging
from newsdiff.celery import app
from newsdiff.core.parsers.haaretz import HaaretzParser
from newsdiff.core.parsers.ynet import YnetParser
+from sorl.thumbnail import get_thumbnail
@app.task()
def process_haaretz_homepage():
@@ -26,4 +27,8 @@ def process_ynet_homepage():
@app.task(rate_limit='12/m')
def process_ynet_article(url):
yp = YnetParser()
- yp.process_article(url) \ No newline at end of file
+ yp.process_article(url)
+
+@app.task()
+def preload_thumbnail(filename, size):
+ _im = get_thumbnail(filename, size)