fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Stats for audiobooks
[wolnelektury.git]
/
src
/
wolnelektury
/
views.py
diff --git
a/src/wolnelektury/views.py
b/src/wolnelektury/views.py
index
1c0f40c
..
5e56f59
100644
(file)
--- a/
src/wolnelektury/views.py
+++ b/
src/wolnelektury/views.py
@@
-46,20
+46,21
@@
def main_page(request):
break
break
break
break
- # Choose a collection for main.
- try:
- ctx['collection'] = Collection.objects.order_by('?')[:1][0]
- except IndexError:
- pass
+ # Choose collections for main.
+ ctx['collections'] = Collection.objects.filter(listed=True).order_by('?')[:4]
best = []
best_places = 5
best = []
best_places = 5
- for recommended in Collection.objects.filter(role='recommend').order_by('?'):
+ recommended_collection = None
+ for recommended in Collection.objects.filter(listed=True, role='recommend').order_by('?'):
+ if recommended_collection is None:
+ recommended_collection = recommended
books = list(recommended.get_books().exclude(id__in=[b.id for b in best]).order_by('?')[:best_places])
best.extend(books)
best_places -= len(books)
if not best_places:
break
books = list(recommended.get_books().exclude(id__in=[b.id for b in best]).order_by('?')[:best_places])
best.extend(books)
best_places -= len(books)
if not best_places:
break
+ ctx['recommended_collection'] = recommended_collection
if best_places:
best.extend(
list(
if best_places:
best.extend(
list(