diff --git a/app/dbinit.py b/app/dbinit.py index b90133b..831f3f7 100644 --- a/app/dbinit.py +++ b/app/dbinit.py @@ -8,10 +8,10 @@ with the pymongo library. """ import urllib.parse +from unidecode import unidecode # to remove accents in house and prince names in the urls from pymongo import MongoClient from .config import dbadmin, dbpassword, server_ip -from .helper import normalize_trigrams # ______________________________________________________________________________ # database connexion @@ -36,7 +36,9 @@ helpers = actesdb["helpers"] # storage extractor utilities def make_acteid_from_route(house=None, prince=None, date_and_item=None): - "/acte/Anjou/Isabelle_i/1441_08_05a -> anj_isa_i_1441_08_05a" + """ + /acte/Anjou/Isabelle_i/1441_08_05a -> anj_isa_i_1441_08_05a + """ return "_".join([trigram_house(house), bigram_prince(prince), date_and_item]) @@ -72,10 +74,17 @@ def extract_prince_in_house(house, prince_code): if pr['prince_code'] == prince_code: return pr +def normalize_trigrams(trigram): + """normalizes names, usefull for the uris routes + + sample: Alençon -> Alencon + Orléans -> Orleans + """ + return {unidecode(value):key for key, value in trigram.items()} # ______________________________________________________________________________ # in memory storage extracted 'meta' informations upon the database -# TODO: if it takes too much time at launch, put it in something like +# TODO: if it takes too much time at startup, jsut put it in something like # a `flask init` procedure helpers_dicts = helpers.find_one() @@ -83,10 +92,13 @@ house_trigram = helpers_dicts["house_trigram"] prince_bigram = helpers_dicts["prince_bigram"] princes_in_houses = extract_princes_in_houses() + + """ house_trigram sample: {'Alencon': 'alb', 'Anjou': 'anj', 'Armagnac': 'arm', 'Bourbon': 'brb', 'Bretagne': 'bre', 'Bourgogne': 'brg', 'Berry': 'bry', 'Orleans': 'orl', 'Savoie': 'sav'} """ + house_trigram = normalize_trigrams(house_trigram) """ prince_bigram sample: diff --git a/app/helper.py b/app/helper.py index 1f691c6..2239077 100644 --- a/app/helper.py +++ b/app/helper.py @@ -2,7 +2,6 @@ TODO: maybe all these calculations are to be put in the db storage """ -from unidecode import unidecode # to remove accents in house and prince names in the urls def make_timeitem_from_filename(filename): """ @@ -11,14 +10,6 @@ def make_timeitem_from_filename(filename): trs_fname = filename.split('_') return "_".join(trs_fname[3:]) -def normalize_trigrams(trigram): - """normalizes names, usefull for the uris routes - - sample: Alençon -> Alencon - Orléans -> Orleans - """ - return {unidecode(value):key for key, value in trigram.items()} - #from flask import abort # #def find_one_or_404(collection, **kwargs): diff --git a/app/routes.py b/app/routes.py index 8bf837e..10e9afb 100644 --- a/app/routes.py +++ b/app/routes.py @@ -110,12 +110,18 @@ 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['timeitem'] = make_timeitem_from_filename(trs['filename']) - + 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_code=prince_code.capitalize(), actes=transformed_query) + prince_name=long_prince_bigram.capitalize(), actes=transformed_query) @main.route("/acte///") def acte(house=None, prince=None, dateitem=None): @@ -132,7 +138,7 @@ def acte(house=None, prince=None, dateitem=None): """ filestem = make_acteid_from_route(house, prince, dateitem) result = actecol.find_one({'_id': filestem}) - return render_template("acte.html", house=house, prince=prince, + return render_template("acte.html", house=house, prince=result.get('prince_code'), #infos=None, place=None, doc=None, arch=None, #diplo=diplo_t[0].replace("_", " "), state=state[0], output_doc=result.get('xmlcontent'), name_prince=result.get("prince_name"), diff --git a/app/templates/prince_corpus.html b/app/templates/prince_corpus.html index 29a2fc3..ffeed02 100644 --- a/app/templates/prince_corpus.html +++ b/app/templates/prince_corpus.html @@ -16,7 +16,7 @@

{{ acte['date'] }}

-

{{ acte['analysis'] }}.

+

{{ acte['analysis'] }}.

{% if acte['place'] != 'NS' %} {{ acte['place'] }}