X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/3c12104d064098096eb5fe9c9ee122d0293e10f2..111b8c6ae387d96f80f90904acd87a2dfb544070:/apps/search/management/commands/reindex.py

diff --git a/apps/search/management/commands/reindex.py b/apps/search/management/commands/reindex.py
index bce47080d..3b6517f2e 100755
--- a/apps/search/management/commands/reindex.py
+++ b/apps/search/management/commands/reindex.py
@@ -1,25 +1,36 @@
 from django.core.management.base import BaseCommand
 
+from optparse import make_option
 class Command(BaseCommand):
     help = 'Reindex everything.'
     args = ''
-
+    
+    option_list = BaseCommand.option_list + (
+        make_option('-n', '--book-id', action='store_true', dest='book_id', default=False,
+            help='book id instead of slugs'),
+        make_option('-t', '--just-tags', action='store_true', dest='just_tags', default=False,
+            help='just reindex tags'),
+    )
     def handle(self, *args, **opts):
         from catalogue.models import Book
         import search
         idx = search.ReusableIndex()
         idx.open()
 
-        if args:
-            books = []
-            for a in args:
-                books += Book.objects.filter(slug=a).all()
-        else:
-            books = Book.objects.all()
-            
-        for b in books:
-            print b.title
-            idx.index_book(b, None)
+        if not opts['just_tags']:
+            if args:
+                books = []
+                for a in args:
+                    if opts['book_id']:
+                        books += Book.objects.filter(id=int(a)).all()
+                    else:
+                        books += Book.objects.filter(slug=a).all()
+            else:
+                books = Book.objects.all()
+                
+            for b in books:
+                print b.title
+                idx.index_book(b)
         print 'Reindexing tags.'
         idx.index_tags()
         idx.close()