"""helper functions (is it really usefull?) TODO: maybe all these calculations are to be put in the db storage """ def inverted_prince_bigram(bigram): "Translates ch -> Charles" inverted_prince_bigram = {value: key for key, value in prince_bigram.items()} return inverted_prince_bigram[bigram] def bigram_prince(prince): "Translates Charles_i -> ch_i" name, number = prince.split("_") return prince_bigram[name] + "_" + number def trigram_house(house): return house_trigram[house] 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" return "_".join([trigram_house(house), bigram_prince(prince), date_and_item]) def make_timeitem_from_filename(filename): """ "anj_isa_i_1441_08_05a" -> "1441_08_05a" """ trs_fname = filename.split('_') return "_".join(trs_fname[3:]) #from flask import abort # #def find_one_or_404(collection, **kwargs): # """Find a single document or raise a 404. # # This is like :meth:`~pymongo.collection.Collection.find_one`, but # rather than returning ``None``, cause a 404 Not Found HTTP status # on the request. # # .. code-block:: python # # usercollection = mydb['usercollection'] # # @app.route("/user/") # def user_profile(username): # userfound = find_one_or_404(usercollection, {"_id": username}) # return render_template("user.html", # user=userfound) # """ # found = collection.find_one(**kwargs) # if found is None: # abort(404) # return found