fix #2052: wrong tag counters in tagged list
[wolnelektury.git] / apps / api / management / commands / mobileinit.py
index cfb9fb4..2abbfb3 100755 (executable)
@@ -23,10 +23,10 @@ class Command(BaseCommand):
         db = init_db(last_checked)
         for b in Book.objects.all():
             add_book(db, b)
         db = init_db(last_checked)
         for b in Book.objects.all():
             add_book(db, b)
-        for t in Tag.objects.exclude(category__in=('book', 'set', 'theme')):
+        for t in Tag.objects.exclude(
+                category__in=('book', 'set', 'theme')).exclude(book_count=0):
             # only add non-empty tags
             # only add non-empty tags
-            if t.get_count():
-                add_tag(db, t)
+            add_tag(db, t)
         db.commit()
         db.close()
         current(last_checked)
         db.commit()
         db.close()
         current(last_checked)
@@ -106,7 +106,8 @@ CREATE TABLE state (last_checked INTEGER);
 
 def current(last_checked):
     target = os.path.join(MOBILE_INIT_DB, 'initial.db')
 
 def current(last_checked):
     target = os.path.join(MOBILE_INIT_DB, 'initial.db')
-    os.unlink(target)
+    if os.path.lexists(target):
+        os.unlink(target)
     os.symlink(
         'initial.db-%d' % last_checked,
         target,
     os.symlink(
         'initial.db-%d' % last_checked,
         target,
@@ -143,7 +144,7 @@ def add_book(db, book):
         html_file_size = book.html_file.size
     else:
         html_file = html_file_size = None
         html_file_size = book.html_file.size
     else:
         html_file = html_file_size = None
-    parent = book.parent
+    parent = book.parent_id
     parent_number = book.parent_number
     sort_key = book.sort_key
     size_str = pretty_size(html_file_size)
     parent_number = book.parent_number
     sort_key = book.sort_key
     size_str = pretty_size(html_file_size)