Skip to content
Snippets Groups Projects
Commit 95fc9ab2 authored by moogdo49's avatar moogdo49
Browse files

geändert: api.py

	templates/filter.html
parent 383d39c9
No related branches found
No related tags found
No related merge requests found
......@@ -120,8 +120,18 @@ def filter():
elif anfang != merkeLetter[len(merkeLetter)-1]["name"]:
merkeLetter.append({"name" : anfang})
merke.append({"anfang" : anfang, "name" : actor})
return render_template('filter.html', letters = merkeLetter, objects = merke, filter = True, text = '')
#Filter für ungefähres Datum:
merkeDate = []
dateQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in distinct-values(/root/object/descriptiveMetadata/datum/text()) order by $x return $x")
for a,datum in dateQuery.iter():
merkeDate.append({"datum" : datum})
#Filter für Ort:
merkeOrt = []
ortQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in distinct-values(/root/object/descriptiveMetadata/ort/text()) order by $x return $x")
for a,ort in ortQuery.iter():
merkeOrt.append({"ort" : ort})
return render_template('filter.html', letters = merkeLetter, objects = merke, dates = merkeDate, orte = merkeOrt, filter = True, text = '')
@app.route('/filter/actor/<path:kunstler>', methods=['GET'])
def filterActor(kunstler):
......@@ -158,5 +168,75 @@ def filterActor(kunstler):
return render_template('index.html', objects = merke, searchBool = True, text = text)
@app.route('/filter/ort/<path:ort>', methods=['GET'])
def filterOrt(ort):
text = ort
merke = []
urlQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/ort[contains(text(),'" + ort + "')]]/bildLink/text()) return $x")
actorQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/ort[contains(text(),'" + ort + "')]]/descriptiveMetadata/actor/text()) return $x")
titleQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/ort[contains(text(),'" + ort + "')]]/descriptiveMetadata/objectIdentificationWrap/title/text()) return $x")
urlList = []
actorList = []
titleList = []
for a,url in urlQuery.iter():
urlList.append(url)
for b,actor in actorQuery.iter():
actorList.append(actor)
for c,title in titleQuery.iter():
titleList.append(title)
for i in range(0, len(urlList)):
url = urlList[i]
actor = actorList[i]
title = titleList[i]
eintrag = {"url" : url, "actor" : actor, "title" : title}
merke.append(eintrag)
urlQuery.close()
actorQuery.close()
titleQuery.close()
return render_template('index.html', objects = merke, searchBool = True, text = text)
@app.route('/filter/datum/<path:datum>', methods=['GET'])
def filterDatum(datum):
text = datum
merke = []
urlQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/datum[contains(text(),'" + datum + "')]]/bildLink/text()) return $x")
actorQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/datum[contains(text(),'" + datum + "')]]/descriptiveMetadata/actor/text()) return $x")
titleQuery = session.query("declare namespace lido=\"http://www.lido-schema.org\"; for $x in (/root/object[descriptiveMetadata/datum[contains(text(),'" + datum + "')]]/descriptiveMetadata/objectIdentificationWrap/title/text()) return $x")
urlList = []
actorList = []
titleList = []
for a,url in urlQuery.iter():
urlList.append(url)
for b,actor in actorQuery.iter():
actorList.append(actor)
for c,title in titleQuery.iter():
titleList.append(title)
for i in range(0, len(urlList)):
url = urlList[i]
actor = actorList[i]
title = titleList[i]
eintrag = {"url" : url, "actor" : actor, "title" : title}
merke.append(eintrag)
urlQuery.close()
actorQuery.close()
titleQuery.close()
return render_template('index.html', objects = merke, searchBool = True, text = text)
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5000, debug=True)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment