Browse Source

changes in annotations

ansible-setup-and-deploy
ange 6 years ago
parent
commit
249fd90373
  1. 12
      app/getannot.py
  2. 2
      app/templates/annotations.html
  3. 2
      app/templates/results_annot.html
  4. 14
      app/views.py

12
app/getannot.py

@ -1,15 +1,9 @@
# #https://gist.github.com/mjlavin80/186a6395c5819dbe25a8a0e001d5acfd
from flask import request
import requests
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():
KEY = "6879-n8AksBoSB7kYoQ3eEwzpEr3nFQEmSp3XN-0PcKL_Sik"
# URL = "https://monoskop.org/Monoskop"
#a dictionary containing necessary http headers
headers = {
@ -25,9 +19,9 @@ def get_annotations():
r = requests.get(search_url, headers=headers)
#data is a python dictionary
data = json.loads(r.text)
# r = requests.get(search_url, headers=headers)
# data = json.loads(r.text)
server = request.host
for row in data['rows']:
row['uri']= row['uri'].replace('http://' + server+'/uploads/','')
return data

2
app/templates/annotations.html

@ -9,7 +9,7 @@
{% for row in annot.rows %}
{% if 'selector' in row.target[0] %}
{%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>
<a href="books/{{book.id}}"><p align="right" style="font-family:archivo narrow;font-size:18px;">{{book.title}}</p></a><br>
{% endif %}

2
app/templates/results_annot.html

@ -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>
</form>
<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>

14
app/views.py

@ -109,6 +109,8 @@ def annotations():
books = db.session.query(Book).all()
# books = db.session.query(Book).order_by(Book.title)
# id = book.id
server = request.host
rstr=('http://' + server+'/uploads/','')
annot = get_annotations()
print(annot)
return render_template('annotations.html', annot=annot, books=books)
@ -121,6 +123,17 @@ def annotations_pdf():
html = render_template(('annotations.html'), annot=annot)
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>')
def viewtestfile1_file(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)
return render_template('results_annot.html', name=name, annot=annot, res=res, books=books)
## STACKS!
@app.route('/add_to_stack/<int:id>', methods=['GET', 'POST'])

Loading…
Cancel
Save