add -t to reindex command to just reindex tags
authorMarcin Koziej <marcin@lolownia.org>
Thu, 2 Feb 2012 11:52:23 +0000 (12:52 +0100)
committerMarcin Koziej <marcin@lolownia.org>
Thu, 2 Feb 2012 11:52:23 +0000 (12:52 +0100)
apps/search/index.py
apps/search/management/commands/reindex.py

index 1a36993..ead10b5 100644 (file)
@@ -234,7 +234,6 @@ class Index(BaseIndex):
         for pdtag in PDCounterBook.objects.all():
             doc = Document()
             doc.add(NumericField("tag_id", Field.Store.YES, True).setIntValue(int(pdtag.id)))
-            print pdtag.title
             doc.add(Field("tag_name", pdtag.title, Field.Store.NO, Field.Index.ANALYZED))
             doc.add(Field("tag_name_pl", pdtag.title, Field.Store.NO, Field.Index.ANALYZED))
             doc.add(Field("tag_category", 'pd_book', Field.Store.YES, Field.Index.NOT_ANALYZED))
index 8901102..3b6517f 100755 (executable)
@@ -7,7 +7,9 @@ class Command(BaseCommand):
     
     option_list = BaseCommand.option_list + (
         make_option('-n', '--book-id', action='store_true', dest='book_id', default=False,
-            help='book id'),
+            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
@@ -15,19 +17,20 @@ class Command(BaseCommand):
         idx = search.ReusableIndex()
         idx.open()
 
-        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)
+        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()