mirror of
https://github.com/janeczku/calibre-web
synced 2024-12-26 01:50:31 +00:00
Update OPDS-part to display publishers
This commit is contained in:
parent
6a007ec881
commit
1ac9b3d837
@ -43,6 +43,9 @@
|
|||||||
<author>
|
<author>
|
||||||
<name>{{entry.authors[0].name}}</name>
|
<name>{{entry.authors[0].name}}</name>
|
||||||
</author>
|
</author>
|
||||||
|
<publisher>
|
||||||
|
<name>{{entry.publishers[0].name}}</name>
|
||||||
|
</publisher>
|
||||||
<dcterms:language>{{entry.language}}</dcterms:language>
|
<dcterms:language>{{entry.language}}</dcterms:language>
|
||||||
{% for tag in entry.tags %}
|
{% for tag in entry.tags %}
|
||||||
<category scheme="http://www.bisg.org/standards/bisac_subject/index.html"
|
<category scheme="http://www.bisg.org/standards/bisac_subject/index.html"
|
||||||
|
@ -61,7 +61,14 @@
|
|||||||
<id>{{url_for('feed_authorindex')}}</id>
|
<id>{{url_for('feed_authorindex')}}</id>
|
||||||
<updated>{{ current_time }}</updated>
|
<updated>{{ current_time }}</updated>
|
||||||
<content type="text">{{_('Books ordered by Author')}}</content>
|
<content type="text">{{_('Books ordered by Author')}}</content>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<title>{{_('Publishers')}}</title>
|
||||||
|
<link rel="subsection" href="{{url_for('feed_publisherindex')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||||
|
<id>{{url_for('feed_publisherindex')}}</id>
|
||||||
|
<updated>{{ current_time }}</updated>
|
||||||
|
<content type="text">{{_('Books ordered by publisher')}}</content>
|
||||||
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<title>{{_('Category list')}}</title>
|
<title>{{_('Category list')}}</title>
|
||||||
<link rel="subsection" href="{{url_for('feed_categoryindex')}}" type="application/atom+xml;profile=opds-catalog"/>
|
<link rel="subsection" href="{{url_for('feed_categoryindex')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||||
|
20
cps/web.py
20
cps/web.py
@ -752,6 +752,26 @@ def feed_author(book_id):
|
|||||||
return render_xml_template('feed.xml', entries=entries, pagination=pagination)
|
return render_xml_template('feed.xml', entries=entries, pagination=pagination)
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/opds/publisher")
|
||||||
|
@requires_basic_auth_if_no_ano
|
||||||
|
def feed_publisherindex():
|
||||||
|
off = request.args.get("offset") or 0
|
||||||
|
entries = db.session.query(db.Publishers).join(db.books_publishers_link).join(db.Books).filter(common_filters())\
|
||||||
|
.group_by('books_publishers_link.publisher').order_by(db.Publishers.sort).limit(config.config_books_per_page).offset(off)
|
||||||
|
pagination = Pagination((int(off) / (int(config.config_books_per_page)) + 1), config.config_books_per_page,
|
||||||
|
len(db.session.query(db.Publishers).all()))
|
||||||
|
return render_xml_template('feed.xml', listelements=entries, folder='feed_publisher', pagination=pagination)
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/opds/publisher/<int:book_id>")
|
||||||
|
@requires_basic_auth_if_no_ano
|
||||||
|
def feed_publisher(book_id):
|
||||||
|
off = request.args.get("offset") or 0
|
||||||
|
entries, __, pagination = fill_indexpage((int(off) / (int(config.config_books_per_page)) + 1),
|
||||||
|
db.Books, db.Books.publishers.any(db.Publishers.id == book_id), [db.Books.timestamp.desc()])
|
||||||
|
return render_xml_template('feed.xml', entries=entries, pagination=pagination)
|
||||||
|
|
||||||
|
|
||||||
@app.route("/opds/category")
|
@app.route("/opds/category")
|
||||||
@requires_basic_auth_if_no_ano
|
@requires_basic_auth_if_no_ano
|
||||||
def feed_categoryindex():
|
def feed_categoryindex():
|
||||||
|
Loading…
Reference in New Issue
Block a user