Skip to content

Commit 6fad65a

Browse files
committedDec 8, 2016
Ensuring that generic_index_render always works fine with an empty post list.
1 parent 2038779 commit 6fad65a

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed
 

‎CHANGES.txt

+3
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ Bugfixes
88
as ``global_data`` (Issue #2488)
99
* Don't crash if plugins is a file (Issue #2539)
1010
* Don't mangle bare ``#`` links (Issue #2553)
11+
* ``generic_index_renderer`` now always produces output. It previously
12+
did not when the post list was empty and ``INDEXES_STATIC == False``.
13+
(via Issue #2579)
1114

1215
Features
1316
--------

‎nikola/nikola.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -2404,8 +2404,11 @@ def generic_index_renderer(self, lang, posts, indexes_title, template_name, cont
24042404
while posts:
24052405
lists.append(posts[:kw["index_display_post_count"]])
24062406
posts = posts[kw["index_display_post_count"]:]
2407+
if not lists:
2408+
lists.append([])
24072409
num_pages = len(lists)
2408-
displayed_page_numbers = [utils.get_displayed_page_number(i, num_pages, self) for i in range(num_pages or 1)]
2410+
assert num_pages >= 1
2411+
displayed_page_numbers = [utils.get_displayed_page_number(i, num_pages, self) for i in range(num_pages)]
24092412
page_links = [page_link(i, page_number, num_pages, False) for i, page_number in enumerate(displayed_page_numbers)]
24102413
if kw['show_index_page_navigation']:
24112414
# Since the list displayed_page_numbers is not necessarily
@@ -2414,7 +2417,6 @@ def generic_index_renderer(self, lang, posts, indexes_title, template_name, cont
24142417
# via a map. This allows to not replicate the logic of
24152418
# utils.get_displayed_page_number() here.
24162419
temp_map = {page_number - 1: link for page_number, link in zip(displayed_page_numbers, page_links)}
2417-
# Note that len(temp_map) >= num_pages.
24182420
page_links_context = [temp_map[i] for i in range(num_pages)]
24192421
for i, post_list in enumerate(lists):
24202422
context = context_source.copy()

0 commit comments

Comments
 (0)
Please sign in to comment.