mirror of
https://github.com/janeczku/calibre-web
synced 2024-12-03 15:00:01 +00:00
Merge remote-tracking branch 'Knepherbird/master' into master
# Conflicts: # cps/jinjia.py # cps/templates/detail.html # cps/templates/discover.html # cps/templates/index.html # cps/web.py
This commit is contained in:
commit
52489a484a
@ -110,9 +110,21 @@ def timestamptodate(date, fmt=None):
|
|||||||
def yesno(value, yes, no):
|
def yesno(value, yes, no):
|
||||||
return yes if value else no
|
return yes if value else no
|
||||||
|
|
||||||
|
|
||||||
@jinjia.app_template_filter('formatfloat')
|
@jinjia.app_template_filter('formatfloat')
|
||||||
def formatfloat(value, decimals=1):
|
def formatfloat(value, decimals=1):
|
||||||
formatedstring = '%d' % value
|
formatedstring = '%d' % value
|
||||||
if (value % 1) != 0:
|
if (value % 1) != 0:
|
||||||
formatedstring = ('%s.%d' % (formatedstring, (value % 1) * 10**decimals)).rstrip('0')
|
formatedstring = ('%s.%d' % (formatedstring, (value % 1) * 10**decimals)).rstrip('0')
|
||||||
return formatedstring
|
return formatedstring
|
||||||
|
|
||||||
|
|
||||||
|
@jinjia.app_template_filter('formatseriesindex')
|
||||||
|
def formatseriesindex_filter(series_index):
|
||||||
|
if series_index:
|
||||||
|
if int(series_index) - series_index == 0:
|
||||||
|
return int(series_index)
|
||||||
|
else:
|
||||||
|
return series_index
|
||||||
|
return 0
|
||||||
|
|
||||||
|
@ -143,6 +143,12 @@ a, .danger,.book-remove, .editable-empty, .editable-empty:hover { color: #45b29d
|
|||||||
color: #444;
|
color: #444;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.container-fluid .book .meta .series {
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #444;
|
||||||
|
}
|
||||||
|
|
||||||
.container-fluid .book .meta .author {
|
.container-fluid .book .meta .author {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: #999;
|
color: #999;
|
||||||
|
@ -70,6 +70,14 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</p>
|
</p>
|
||||||
|
{% if entry.series.__len__() > 0 %}
|
||||||
|
<p class="series">
|
||||||
|
<a href="{{url_for('web.books_list', data='series', sort_param='new', book_id=entry.series[0].id )}}">
|
||||||
|
{{entry.series[0].name}}
|
||||||
|
</a>
|
||||||
|
({{entry.series_index|formatseriesindex}})
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
{% if entry.ratings.__len__() > 0 %}
|
{% if entry.ratings.__len__() > 0 %}
|
||||||
<div class="rating">
|
<div class="rating">
|
||||||
{% for number in range((entry.ratings[0].rating/2)|int(2)) %}
|
{% for number in range((entry.ratings[0].rating/2)|int(2)) %}
|
||||||
@ -114,6 +122,14 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</p>
|
</p>
|
||||||
|
{% if entry.series.__len__() > 0 %}
|
||||||
|
<p class="series">
|
||||||
|
<a href="{{url_for('web.books_list', data='series', sort_param='new', book_id=entry.series[0].id )}}">
|
||||||
|
{{entry.series[0].name}}
|
||||||
|
</a>
|
||||||
|
({{entry.series_index|formatseriesindex}})
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
<div class="rating">
|
<div class="rating">
|
||||||
{% for number in range((entry.average_rating)|float|round|int(2)) %}
|
{% for number in range((entry.average_rating)|float|round|int(2)) %}
|
||||||
<span class="glyphicon glyphicon-star good"></span>
|
<span class="glyphicon glyphicon-star good"></span>
|
||||||
|
@ -34,6 +34,14 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</p>
|
</p>
|
||||||
|
{% if entry.series.__len__() > 0 %}
|
||||||
|
<p class="series">
|
||||||
|
<a href="{{url_for('web.books_list', data='series', sort_param='new', book_id=entry.series[0].id )}}">
|
||||||
|
{{entry.series[0].name}}
|
||||||
|
</a>
|
||||||
|
({{entry.series_index|formatseriesindex}})
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
{% if entry.ratings.__len__() > 0 %}
|
{% if entry.ratings.__len__() > 0 %}
|
||||||
<div class="rating">
|
<div class="rating">
|
||||||
{% for number in range((entry.ratings[0].rating/2)|int(2)) %}
|
{% for number in range((entry.ratings[0].rating/2)|int(2)) %}
|
||||||
|
@ -33,6 +33,14 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</p>
|
</p>
|
||||||
|
{% if entry.series.__len__() > 0 %}
|
||||||
|
<p class="series">
|
||||||
|
<a href="{{url_for('web.books_list', data='series', sort_param='new', book_id=entry.series[0].id )}}">
|
||||||
|
{{entry.series[0].name}}
|
||||||
|
</a>
|
||||||
|
({{entry.series_index|formatseriesindex}})
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
{% if entry.ratings.__len__() > 0 %}
|
{% if entry.ratings.__len__() > 0 %}
|
||||||
<div class="rating">
|
<div class="rating">
|
||||||
{% for number in range((entry.ratings[0].rating/2)|int(2)) %}
|
{% for number in range((entry.ratings[0].rating/2)|int(2)) %}
|
||||||
@ -101,6 +109,14 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{%endfor%}
|
{%endfor%}
|
||||||
</p>
|
</p>
|
||||||
|
{% if entry.series.__len__() > 0 %}
|
||||||
|
<p class="series">
|
||||||
|
<a href="{{url_for('web.books_list', data='series', sort_param='new', book_id=entry.series[0].id )}}">
|
||||||
|
{{entry.series[0].name}}
|
||||||
|
</a>
|
||||||
|
({{entry.series_index|formatseriesindex}})
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
{% if entry.ratings.__len__() > 0 %}
|
{% if entry.ratings.__len__() > 0 %}
|
||||||
<div class="rating">
|
<div class="rating">
|
||||||
{% for number in range((entry.ratings[0].rating/2)|int(2)) %}
|
{% for number in range((entry.ratings[0].rating/2)|int(2)) %}
|
||||||
|
@ -72,6 +72,15 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</p>
|
</p>
|
||||||
|
{% if entry.series.__len__() > 0 %}
|
||||||
|
<p class="series">
|
||||||
|
<a href="{{url_for('web.books_list', data='series', sort_param='new', book_id=entry.series[0].id )}}">
|
||||||
|
{{entry.series[0].name}}
|
||||||
|
</a>
|
||||||
|
({{entry.series_index|formatseriesindex}})
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% if entry.ratings.__len__() > 0 %}
|
{% if entry.ratings.__len__() > 0 %}
|
||||||
<div class="rating">
|
<div class="rating">
|
||||||
{% for number in range((entry.ratings[0].rating/2)|int(2)) %}
|
{% for number in range((entry.ratings[0].rating/2)|int(2)) %}
|
||||||
|
@ -43,6 +43,14 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</p>
|
</p>
|
||||||
|
{% if entry.series.__len__() > 0 %}
|
||||||
|
<p class="series">
|
||||||
|
<a href="{{url_for('web.books_list', data='series', sort_param='new', book_id=entry.series[0].id )}}">
|
||||||
|
{{entry.series[0].name}}
|
||||||
|
</a>
|
||||||
|
({{entry.series_index|formatseriesindex}})
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
{% if entry.ratings.__len__() > 0 %}
|
{% if entry.ratings.__len__() > 0 %}
|
||||||
<div class="rating">
|
<div class="rating">
|
||||||
{% for number in range((entry.ratings[0].rating/2)|int(2)) %}
|
{% for number in range((entry.ratings[0].rating/2)|int(2)) %}
|
||||||
|
@ -43,7 +43,14 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</p>
|
</p>
|
||||||
|
{% if entry.series.__len__() > 0 %}
|
||||||
|
<p class="series">
|
||||||
|
<a href="{{url_for('web.books_list', data='series', sort_param='new', book_id=entry.series[0].id )}}">
|
||||||
|
{{entry.series[0].name}}
|
||||||
|
</a>
|
||||||
|
({{entry.series_index}})
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="btn-group" role="group" aria-label="Download, send to Kindle, reading">
|
<div class="btn-group" role="group" aria-label="Download, send to Kindle, reading">
|
||||||
|
@ -624,6 +624,10 @@ def render_books_list(data, sort, book_id, page):
|
|||||||
order = [db.Books.timestamp.desc()]
|
order = [db.Books.timestamp.desc()]
|
||||||
if sort == 'old':
|
if sort == 'old':
|
||||||
order = [db.Books.timestamp]
|
order = [db.Books.timestamp]
|
||||||
|
if sort == 'authaz':
|
||||||
|
order = [db.Books.author_sort.asc()]
|
||||||
|
if sort == 'authza':
|
||||||
|
order = [db.Books.author_sort.desc()]
|
||||||
|
|
||||||
if data == "rated":
|
if data == "rated":
|
||||||
if current_user.check_visibility(constants.SIDEBAR_BEST_RATED):
|
if current_user.check_visibility(constants.SIDEBAR_BEST_RATED):
|
||||||
|
Loading…
Reference in New Issue
Block a user