fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix star
[wolnelektury.git]
/
src
/
catalogue
/
views.py
diff --git
a/src/catalogue/views.py
b/src/catalogue/views.py
index
e71895f
..
50dde9f
100644
(file)
--- a/
src/catalogue/views.py
+++ b/
src/catalogue/views.py
@@
-34,8
+34,8
@@
staff_required = user_passes_test(lambda user: user.is_staff)
def catalogue(request, as_json=False):
def catalogue(request, as_json=False):
- books = models.Book.objects.filter(parent=None)
- pictures = Picture.objects.
all(
)
+ books = models.Book.objects.filter(parent=None)
.order_by('sort_key_author', 'sort_key')
+ pictures = Picture.objects.
order_by('sort_key_author', 'sort_key'
)
collections = models.Collection.objects.all()
return render(request, 'catalogue/catalogue.html', locals())
collections = models.Collection.objects.all()
return render(request, 'catalogue/catalogue.html', locals())
@@
-57,14
+57,15
@@
def book_list(request, filter=None, get_filter=None, template_name='catalogue/bo
def audiobook_list(request):
def audiobook_list(request):
- books = models.Book.objects.filter(Q(media__type='mp3') | Q(media__type='ogg')).distinct()
+ books = models.Book.objects.filter(media__type__in=('mp3', 'ogg')).distinct().order_by(
+ 'sort_key_author', 'sort_key')
books = list(books)
if len(books) > 3:
best = random.sample(books, 3)
else:
best = books
books = list(books)
if len(books) > 3:
best = random.sample(books, 3)
else:
best = books
- daisy = models.Book.objects.filter(media__type='daisy').distinct()
+ daisy = models.Book.objects.filter(media__type='daisy').distinct()
.order_by('sort_key_author', 'sort_key')
return render(request, 'catalogue/audiobook_list.html', {
'books': books,
return render(request, 'catalogue/audiobook_list.html', {
'books': books,
@@
-163,11
+164,9
@@
def tagged_object_list(request, tags='', gallery=False):
raise Http404
else:
if tags:
raise Http404
else:
if tags:
- objects = Picture.tagged.with_all(tags).order_by(
- 'sort_key_author', 'title')
+ objects = Picture.tagged.with_all(tags)
else:
else:
- objects = Picture.objects.all().order_by(
- 'sort_key_author', 'title')
+ objects = Picture.objects.all()
areas = PictureArea.objects.filter(picture__in=objects)
categories = split_tags(
models.Tag.objects.usage_for_queryset(
areas = PictureArea.objects.filter(picture__in=objects)
categories = split_tags(
models.Tag.objects.usage_for_queryset(
@@
-183,16
+182,15
@@
def tagged_object_list(request, tags='', gallery=False):
else:
all_books = models.Book.objects.filter(parent=None)
if shelf_is_set:
else:
all_books = models.Book.objects.filter(parent=None)
if shelf_is_set:
- objects = all_books
.order_by('sort_key_author', 'title')
+ objects = all_books
related_book_tags = models.Tag.objects.usage_for_queryset(
objects, counts=True).exclude(
category='set').exclude(pk__in=tags_pks)
else:
if tags:
related_book_tags = models.Tag.objects.usage_for_queryset(
objects, counts=True).exclude(
category='set').exclude(pk__in=tags_pks)
else:
if tags:
- objects = models.Book.tagged_top_level(tags).order_by(
- 'sort_key_author', 'title')
+ objects = models.Book.tagged_top_level(tags)
else:
else:
- objects = all_books
.order_by('sort_key_author', 'title')
+ objects = all_books
# WTF: was outside if, overwriting value assigned if shelf_is_set
related_book_tags = get_top_level_related_tags(tags)
# WTF: was outside if, overwriting value assigned if shelf_is_set
related_book_tags = get_top_level_related_tags(tags)
@@
-204,6
+202,7
@@
def tagged_object_list(request, tags='', gallery=False):
fragments, counts=True).filter(
category='theme').exclude(pk__in=tags_pks),
)
fragments, counts=True).filter(
category='theme').exclude(pk__in=tags_pks),
)
+ objects = objects.order_by('sort_key_author', 'sort_key')
objects = list(objects)
if len(objects) > 3:
objects = list(objects)
if len(objects) > 3:
@@
-322,7
+321,7
@@
def _no_diacritics_regexp(query):
def repl(m):
l = m.group()
def repl(m):
l = m.group()
- return u"(%s)" % '|'.join(names[l])
+ return u"(
?:
%s)" % '|'.join(names[l])
return re.sub(u'[%s]' % (u''.join(names.keys())), repl, query)
return re.sub(u'[%s]' % (u''.join(names.keys())), repl, query)
@@
-712,10
+711,12
@@
def tag_catalogue(request, category):
else:
tags = list(get_top_level_related_tags((), categories=(category,)))
else:
tags = list(get_top_level_related_tags((), categories=(category,)))
- if len(tags) > 3:
- best = random.sample(tags, 3)
+ described_tags = [tag for tag in tags if tag.description]
+
+ if len(described_tags) > 4:
+ best = random.sample(described_tags, 4)
else:
else:
- best = tags
+ best =
described_
tags
return render(request, 'catalogue/tag_catalogue.html', {
'tags': tags,
return render(request, 'catalogue/tag_catalogue.html', {
'tags': tags,