Metadata viewing should work with calibre-companion now (#79)
This commit is contained in:
parent
6cf82dc9b9
commit
c6d1c186f0
49
cps/templates/json.txt
Normal file
49
cps/templates/json.txt
Normal file
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
"pubdate": "{{entry.pubdate}}",
|
||||
"title": "{{entry.title}}",
|
||||
"format_metadata": {
|
||||
{% for format in entry.data %}
|
||||
"{{format.format}}": {
|
||||
"mtime": "{{entry.last_modified}}",
|
||||
"size": {{format.uncompressed_size}},
|
||||
"path": "/mnt/share/Data/alte_ebooks/Cornelia Ziegler/111 Orte auf Kreta die man gesehen haben muss (391)/111 Orte auf Kreta die man gesehen haben m - Cornelia Ziegler.epub"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
},
|
||||
"formats": [
|
||||
{% for format in entry.data %}
|
||||
"{{format.format}}"{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
],
|
||||
"series": null,
|
||||
"cover": "/opds/cover/{{entry.id}}",
|
||||
"languages": [
|
||||
{% for lang in entry.languages %}
|
||||
"{{lang.lang_code}}"{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
],
|
||||
"comments": "{% if entry.comments|length > 0 %}{{entry.comments[0].text|safe}}{% endif %}",
|
||||
"tags": [
|
||||
{% for tag in entry.tags %}
|
||||
"{{tag.name}}"{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
],
|
||||
"application_id": {{entry.id}},
|
||||
"series_index": {% if entry.series|length > 0 %}"{{entry.series_index}}"{% else %}null{% endif %},
|
||||
"last_modified": "{{entry.last_modified}}",
|
||||
"author_sort": "{{entry.author_sort}}",
|
||||
"uuid": "{{entry.uuid}}",
|
||||
"timestamp": "{{entry.timestamp}}",
|
||||
"thumbnail": "/opds/cover/{{entry.id}}",
|
||||
"main_format": {
|
||||
"epub": "/get/epub/391"
|
||||
},
|
||||
"rating": 0.0,
|
||||
"authors": [
|
||||
{% for author in entry.authors %}
|
||||
"{{author.name}}"{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
],
|
||||
"other_formats": {},
|
||||
"title_sort": "{{entry.sort}}"
|
||||
}
|
12
cps/web.py
12
cps/web.py
|
@ -664,6 +664,17 @@ def get_opds_download_link(book_id, format):
|
|||
response.headers["Content-Disposition"] = "attachment; filename=%s.%s" % (data.name, format)
|
||||
return response
|
||||
|
||||
@app.route("/ajax/book/<string:uuid>")
|
||||
@login_required_if_no_ano
|
||||
def get_metadata_calibre_companion(uuid):
|
||||
entry = db.session.query(db.Books).filter(db.Books.uuid.like("%"+uuid+"%")).first()
|
||||
if entry is not None :
|
||||
js = render_template('json.txt',entry=entry)
|
||||
response = make_response(js)
|
||||
response.headers["Content-Type"] = "application/json"
|
||||
return response
|
||||
else:
|
||||
return ""
|
||||
|
||||
@app.route("/get_authors_json", methods=['GET', 'POST'])
|
||||
@login_required_if_no_ano
|
||||
|
@ -1064,6 +1075,7 @@ def get_cover(cover_path):
|
|||
return send_from_directory(os.path.join(config.DB_ROOT, cover_path), "cover.jpg")
|
||||
|
||||
@app.route("/opds/thumb_240_240/<path:book_id>")
|
||||
@app.route("/opds/cover_240_240/<path:book_id>")
|
||||
@app.route("/opds/cover_90_90/<path:book_id>")
|
||||
@app.route("/opds/cover/<path:book_id>")
|
||||
@requires_basic_auth_if_no_ano
|
||||
|
|
Loading…
Reference in New Issue
Block a user