Russian
[wolnelektury.git] / apps / catalogue / tasks.py
1 # -*- coding: utf-8 -*-
2 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
3 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
4 #
5 from datetime import datetime
6 from celery.task import task
7 import catalogue.models
8 from traceback import print_exc
9
10 @task
11 def touch_tag(tag):
12     update_dict = {
13         'book_count': tag.get_count(),
14         'changed_at': datetime.now(),
15     }
16
17     type(tag).objects.filter(pk=tag.pk).update(**update_dict)
18
19
20 @task
21 def index_book(book_id, book_info=None):
22     try:
23         return catalogue.models.Book.objects.get(id=book_id).search_index(book_info)
24     except Exception, e:
25         print "Exception during index: %s" % e
26         print_exc()
27         raise e