fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix for unclickable cites in admin.
[wolnelektury.git]
/
apps
/
api
/
management
/
commands
/
mobileinit.py
diff --git
a/apps/api/management/commands/mobileinit.py
b/apps/api/management/commands/mobileinit.py
index
cfb9fb4
..
57b41aa
100755
(executable)
--- a/
apps/api/management/commands/mobileinit.py
+++ b/
apps/api/management/commands/mobileinit.py
@@
-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(items=None):
# 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)
@@
-58,7
+58,7
@@
def pretty_size(size):
value = re.sub('[^a-zA-Z0-9\\s\\-]{1}', replace_char, value)
value = value.lower()
value = re.sub(r'[^a-z0-9{|}]+', '~', value)
value = re.sub('[^a-zA-Z0-9\\s\\-]{1}', replace_char, value)
value = value.lower()
value = re.sub(r'[^a-z0-9{|}]+', '~', value)
-
+
return value.encode('ascii', 'ignore')
return value.encode('ascii', 'ignore')
@@
-71,7
+71,8
@@
def init_db(last_checked):
schema = """
CREATE TABLE book (
id INTEGER PRIMARY KEY,
schema = """
CREATE TABLE book (
id INTEGER PRIMARY KEY,
- title VARCHAR,
+ title VARCHAR,
+ cover VARCHAR,
html_file VARCHAR,
html_file_size INTEGER,
parent INTEGER,
html_file VARCHAR,
html_file_size INTEGER,
parent INTEGER,
@@
-106,19
+107,20
@@
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,
)
-
+
book_sql = """
INSERT INTO book
book_sql = """
INSERT INTO book
- (id, title, html_file, html_file_size, parent, parent_number, sort_key, pretty_size, authors)
+ (id, title,
cover,
html_file, html_file_size, parent, parent_number, sort_key, pretty_size, authors)
VALUES
VALUES
- (:id, :title, :html_file, :html_file_size, :parent, :parent_number, :sort_key, :size_str, :authors);
+ (:id, :title, :
cover, :
html_file, :html_file_size, :parent, :parent_number, :sort_key, :size_str, :authors);
"""
book_tag_sql = "INSERT INTO book_tag (book, tag) VALUES (:book, :tag);"
tag_sql = """
"""
book_tag_sql = "INSERT INTO book_tag (book, tag) VALUES (:book, :tag);"
tag_sql = """
@@
-128,9
+130,9
@@
tag_sql = """
(:id, :category, :name, :sort_key, :book_ids);
"""
categories = {'author': 'autor',
(:id, :category, :name, :sort_key, :book_ids);
"""
categories = {'author': 'autor',
- 'epoch': 'epoka',
- 'genre': 'gatunek',
- 'kind': 'rodzaj',
+ 'epoch': 'epoka',
+ 'genre': 'gatunek',
+ 'kind': 'rodzaj',
'theme': 'motyw'
}
'theme': 'motyw'
}
@@
-143,7
+145,11
@@
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
+ if book.cover:
+ cover = book.cover.url
+ else:
+ cover = None
+ 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)