4
4
import time
5
5
import requests
6
6
from flask import Flask , send_file , jsonify , abort , request , render_template , redirect
7
- from flask_limiter import Limiter
8
- from flask_limiter .util import get_remote_address
9
7
from flask .ext .cors import CORS
10
8
from iiif2 import iiif , web
11
9
from resolver import ia_resolver , create_manifest , getids , collection , \
17
15
18
16
app = Flask (__name__ )
19
17
cors = CORS (app ) if cors else None
20
- #limiter = Limiter(app, key_func=get_remote_address,
21
- # default_limits=['10000 per day', '1000 per hour'])
18
+
22
19
23
20
def sprite_concat (imgs ):
24
21
from PIL import Image
@@ -39,9 +36,9 @@ def sprite_concat(imgs):
39
36
@app .route ('/iiif/' )
40
37
def index ():
41
38
"""Lists all available book and image items on Archive.org"""
42
- cursor = request .args .get ('cursor ' , '' )
39
+ page = request .args .get ('page ' , 1 )
43
40
q = request .args .get ('q' , '' )
44
- return jsonify (getids (q , cursor = cursor ))
41
+ return jsonify (getids (q , page = page ))
45
42
46
43
@app .route ('/iiif/url2iiif' )
47
44
def url2iiif ():
@@ -59,10 +56,13 @@ def url2iiif():
59
56
60
57
@app .route ('/iiif/collection.json' )
61
58
def catalog ():
62
- cursor = request .args .get ('cursor' , '' )
63
59
q = request .args .get ('q' , '' )
60
+ page = request .args .get ('page' , 1 )
61
+ limit = request .args .get ('limit' , 100 )
64
62
domain = purify_domain (request .args .get ('domain' , request .url_root ))
65
- return ldjsonify (collection (domain , getids (q , limit , cursor )['ids' ]))
63
+ docs = getids (q , page = page , limit = limit ).get ('response' , {}).get ('docs' , [])
64
+ ids = (doc ['identifier' ] for doc in docs )
65
+ return ldjsonify (collection (domain , ids ))
66
66
67
67
@app .route ('/iiif/cache' )
68
68
def cache ():
0 commit comments