changes in annotations

This commit is contained in:
ange 2018-06-13 20:04:54 +02:00
parent c874ec5da8
commit 249fd90373
4 changed files with 19 additions and 11 deletions

View File

@ -1,15 +1,9 @@
# #https://gist.github.com/mjlavin80/186a6395c5819dbe25a8a0e001d5acfd
from flask import request from flask import request
import requests import requests
import json import json
# This script demonstrates how to query annotations for a particular URL using the hypothes.is API. An API key is required.
# The end result of this script is a Python dictionary with annotation data in it. Top save to csv or other format, further parsing would be required
def get_annotations(): def get_annotations():
KEY = "6879-n8AksBoSB7kYoQ3eEwzpEr3nFQEmSp3XN-0PcKL_Sik" KEY = "6879-n8AksBoSB7kYoQ3eEwzpEr3nFQEmSp3XN-0PcKL_Sik"
# URL = "https://monoskop.org/Monoskop"
#a dictionary containing necessary http headers #a dictionary containing necessary http headers
headers = { headers = {
@ -25,9 +19,9 @@ def get_annotations():
r = requests.get(search_url, headers=headers) r = requests.get(search_url, headers=headers)
#data is a python dictionary #data is a python dictionary
data = json.loads(r.text) data = json.loads(r.text)
server = request.host
# r = requests.get(search_url, headers=headers) for row in data['rows']:
# data = json.loads(r.text) row['uri']= row['uri'].replace('http://' + server+'/uploads/','')
return data return data

View File

@ -9,7 +9,7 @@
{% for row in annot.rows %} {% for row in annot.rows %}
{% if 'selector' in row.target[0] %} {% if 'selector' in row.target[0] %}
{%for book in books%} {%for book in books%}
{%if book.file == row.uri|replace('http://localhost:8080/uploads/','')%} {%if book.file == row.uri%}
<p align="right" style="font-family:archivo narrow;font-size:10px;">Book</p> <p align="right" style="font-family:archivo narrow;font-size:10px;">Book</p>
<a href="books/{{book.id}}"><p align="right" style="font-family:archivo narrow;font-size:18px;">{{book.title}}</p></a><br> <a href="books/{{book.id}}"><p align="right" style="font-family:archivo narrow;font-size:18px;">{{book.title}}</p></a><br>
{% endif %} {% endif %}

View File

@ -11,7 +11,7 @@
<input style="background-color: grey; color:white; font-family: archivo narrow; font-size: 18px; border: none;padding: 8px 24px;" type="submit" value="browse annotations"></input> <input style="background-color: grey; color:white; font-family: archivo narrow; font-size: 18px; border: none;padding: 8px 24px;" type="submit" value="browse annotations"></input>
</form> </form>
<br><br><br> <br><br><br>
<a href="annotations" style="color:#ff3300;"> All annotations</a><br><br> <a href="{{ url_for('myannotations_pdf') }}" style="color:#ff3300;">Get as PDF</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="annotations" style="color:#ff3300;"> All annotations</a><br><br>
<h1 class="header">Annotations/ Extracts with:&nbsp;&nbsp;<i>{{name}}</i></h1> <h1 class="header">Annotations/ Extracts with:&nbsp;&nbsp;<i>{{name}}</i></h1>

View File

@ -109,6 +109,8 @@ def annotations():
books = db.session.query(Book).all() books = db.session.query(Book).all()
# books = db.session.query(Book).order_by(Book.title) # books = db.session.query(Book).order_by(Book.title)
# id = book.id # id = book.id
server = request.host
rstr=('http://' + server+'/uploads/','')
annot = get_annotations() annot = get_annotations()
print(annot) print(annot)
return render_template('annotations.html', annot=annot, books=books) return render_template('annotations.html', annot=annot, books=books)
@ -121,6 +123,17 @@ def annotations_pdf():
html = render_template(('annotations.html'), annot=annot) html = render_template(('annotations.html'), annot=annot)
return render_pdf(HTML(string=html)) return render_pdf(HTML(string=html))
@app.route('/myannotations.pdf')
def myannotations_pdf():
books = db.session.query(Book).all()
name=str(request.args.get('query'))
annot = get_annotations()
res = get_annot_results(annot,name)
# Make a PDF straight from HTML in a string.
html = render_template('results_annot.html', name=name, annot=annot, res=res, books=books)
return render_pdf(HTML(string=html))
@app.route('/viewpdf/<filename>') @app.route('/viewpdf/<filename>')
def viewtestfile1_file(filename): def viewtestfile1_file(filename):
return redirect("/static/viewer/web/viewer.html?file=%2Fuploads%2F"+urlquote(filename)) return redirect("/static/viewer/web/viewer.html?file=%2Fuploads%2F"+urlquote(filename))
@ -673,6 +686,7 @@ def search_annot():
res = get_annot_results(annot,name) res = get_annot_results(annot,name)
return render_template('results_annot.html', name=name, annot=annot, res=res, books=books) return render_template('results_annot.html', name=name, annot=annot, res=res, books=books)
## STACKS! ## STACKS!
@app.route('/add_to_stack/<int:id>', methods=['GET', 'POST']) @app.route('/add_to_stack/<int:id>', methods=['GET', 'POST'])