diff --git a/app/routes.py b/app/routes.py index 978f07a..2e8ae7a 100644 --- a/app/routes.py +++ b/app/routes.py @@ -39,7 +39,42 @@ def home(): """home route""" if request.method == 'POST': search = request.form['search'] - return render_template("form2.html", search=search) + #actecol.find({key: { $regex: new RegExp(search, 'i')}}) + query = [ + { + "$match": { + "xmlcontent": { + "$regex": search, + "$options" :'i' # case-insensitive + } + } + }, + { + '$group': {'_id': {'prince_name': '$prince_name', + 'house': '$house', + 'date': '$date', + 'prince_code': '$prince_code', + 'filename': '$filename', + "place": "$place.name", + "diplo_state": "$diplo_state", + "diplo_type": "$diplo_type" + } + } + }] + results = list(actecol.aggregate(query)) + transformed_query = [pr['_id'] for pr in results] + invert_prince_bigram = {val: key for key, val in prince_bigram.items()} + + # constructing the dateitem + for trs in transformed_query: + trs['house'] = trs['house'].capitalize() + trs['dateitem'] = make_timeitem_from_filename(trs['filename']) + bigram, number = trs['prince_code'].split('_') + long_prince_bigram = inverted_prince_bigram(bigram) + '_' + number + trs['prince_url'] = prince_name=long_prince_bigram.capitalize() + + return render_template("plainsearch.html", search=search, actes=transformed_query) + return render_template("home.html") @@ -77,7 +112,7 @@ def actes(house): # [('Agnès de Bourgogne', 'agn_i'), ('Anne Dauphine', 'ann_i'), ('Charles Ier de Bourbon', 'ch_i'), ('Louis II de Bourbon', 'lo_ii') princes = princes_in_houses[house] - # TODO : modify the jinja template's design in order to suppress this ugly line + # TODO : modify the html template's design in order to suppress this ugly line princes = [(prc['prince_name'], prc['prince_code']) for prc in princes] return render_template("corpus.html", house=house.capitalize(), princes=princes) @@ -106,7 +141,6 @@ def prince_corpus(house=None, prince=None): "date_time": "$date_time", "analysis": '$analysis', "place": "$place.name", - #"ref_acte": "$ref_acte" "diplo_state": "$diplo_state", "diplo_type": "$diplo_type" } @@ -115,14 +149,12 @@ def prince_corpus(house=None, prince=None): ])) transformed_query = [pr['_id'] for pr in query] invert_prince_bigram = {val: key for key, val in prince_bigram.items()} - #print(invert_prince_bigram) # constructing the dateitem for trs in transformed_query: trs['dateitem'] = make_timeitem_from_filename(trs['filename']) bigram, number = trs['prince_code'].split('_') long_prince_bigram = inverted_prince_bigram(bigram) + '_' + number - return render_template("prince_corpus.html", house=house, duke_name=prince_long_name, prince_name=long_prince_bigram.capitalize(), actes=transformed_query) diff --git a/app/templates/form2.html b/app/templates/form2.html deleted file mode 100644 index 9677a44..0000000 --- a/app/templates/form2.html +++ /dev/null @@ -1,43 +0,0 @@ - - -
- - - - - -Résulat du query : {{ search }}
- -« Retour - - - - - diff --git a/app/templates/plainsearch.html b/app/templates/plainsearch.html new file mode 100644 index 0000000..cd7e709 --- /dev/null +++ b/app/templates/plainsearch.html @@ -0,0 +1,34 @@ +{% extends "container.html" %} +{% block corps %} + +{{ acte['prince_name'] }}, {{ acte['date'] }}.
++ {% if acte['place'] != 'NS' %} + {{ acte['place'] }} + {% endif %} + {{ acte['diplo_state'] }} + {{ acte['diplo_type'] }} +
+