Using Piston auth in DRF views. Replacing API views.
[wolnelektury.git] / src / picture / tasks.py
index 1958d28..cae7db7 100644 (file)
@@ -2,6 +2,8 @@
 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
 #
 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
 #
+from traceback import print_exc
+
 from celery.task import task
 from django.core.files.base import ContentFile
 from django.template.loader import render_to_string
 from celery.task import task
 from django.core.files.base import ContentFile
 from django.template.loader import render_to_string
@@ -17,3 +19,14 @@ def generate_picture_html(picture_id):
                 'themes': pic.areas_json['themes'],
                 }))
     pic.html_file.save("%s.html" % pic.slug, ContentFile(html_text))
                 'themes': pic.areas_json['themes'],
                 }))
     pic.html_file.save("%s.html" % pic.slug, ContentFile(html_text))
+
+
+@task
+def index_picture(picture_id, picture_info=None, **kwargs):
+    from picture.models import Picture
+    try:
+        return Picture.objects.get(id=picture_id).search_index(picture_info, **kwargs)
+    except Exception, e:
+        print "Exception during index: %s" % e
+        print_exc()
+        raise e