import script + config from od2m app

main
jgenero 3 years ago
parent 0b90c608a6
commit 1bedc10e6a

@ -0,0 +1,21 @@
import typing as t
import werkzeug
from flask import render_template
from .app import app
from .cmd import db_cli
from .routes import main
app.register_blueprint(main)
app.cli.add_command(db_cli)
@app.errorhandler(404)
def page_not_found(e: werkzeug.exceptions.HTTPException) -> t.Tuple[t.Text, int]:
return render_template("404.html", title="Page non trouvée"), 404
@app.errorhandler(500)
def internal_server_error(e: werkzeug.exceptions.HTTPException) -> t.Tuple[t.Text, int]:
return render_template("500.html", title="Erreur interne du serveur"), 500

@ -1,19 +1,15 @@
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
from flask import Flask
from playhouse.sqlite_ext import SqliteExtDatabase
from .debugger import initialize_flask_server_debugger_if_needed
APPPATH = os.path.dirname(os.path.abspath(__file__))
templates = os.path.join(APPPATH, "templates")
statics = os.path.join(APPPATH, "static")
app = Flask(
"Application",
template_folder=templates,
@ -21,11 +17,8 @@ app = Flask(
)
# DB configuration
app.config["DATABASE"] = os.path.join(APPPATH, ".", "actes_princiers.db")
app.config["DATABASE"] = os.path.join(APPPATH, "..", "actes_princiers.sqlite")
db = SqliteExtDatabase(app.config["DATABASE"], pragmas=[("journal_mode", "wal")])
# Enables debugging in VS Code if DEBUG env var is set
_debugging = initialize_flask_server_debugger_if_needed()
# Import de la route principale depuis le fichier routes.py
from .routes import home

@ -0,0 +1,3 @@
from .db import db_cli
__all__ = ["db_cli"]

@ -0,0 +1,3 @@
from .data import Institution, State, Production_place, Diplo_type, Document, Acte, Individual, Duke, Produced_by
__all__ = ["Institution", "State", "Production_place", "Diplo_type", "Document", "Acte", "Individual", "Duke", "Produced_by"]

@ -1,42 +1,58 @@
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
import re
import typing as t
import peewee
from flask import Blueprint, abort, render_template, request, send_from_directory
from playhouse.flask_utils import PaginatedQuery
"""
author : Jean-Damien Généro
date : 2022-10-01
update :
"""
from .app import APPPATH
from .modeles import Institution, State, Production_place, Diplo_type, Document, Acte, Individual, Duke, Produced_by
RESULT_PAR_PAGES = 5
# import des librairie
from flask import Flask, render_template, request
from .app import app
main = Blueprint("main", __name__, url_prefix="/")
@app.route("/")
@main.route("/")
def home():
"""home route"""
return render_template("home.html")
@app.route("/about/")
@main.route("/about/")
def about():
"""home route"""
return render_template("about.html")
@app.route("/actes/")
@main.route("/actes/")
def corpora_all():
"""copora all route"""
return render_template("corpora_all.html")
@app.route("/actes/<house>") # dont put a slash at the end
@main.route("/actes/<house>") # dont put a slash at the end
def actes(house):
"""actes route"""
return render_template("corpus.html", house=house)
@app.route("/actes/<house>/<prince>") # dont put a slash at the end
@main.route("/actes/<house>/<prince>") # dont put a slash at the end
def prince_corpus(house=None, prince=None):
"""copora prince route"""
return render_template("prince_corpus.html", house=house, prince=prince)
@main.route("/contact")
def contact() -> t.Text:
"""Displays the Contact page"""
return render_template("contact.html", title="Contact")
@main.route("/termsofservice")
def terms() -> t.Text:
"""Displaysthe T&C page."""
return render_template("terms.html", title="Mentions légales")
@main.route("/privacy")
def privacy() -> t.Text:
"""Displays the privacy policy page."""
return render_template("privacy.html", title="Politique de confidentialité")

@ -15,7 +15,7 @@
<header>
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark" style="background-color: #05386B !important">
<a class="navbar-brand" href="{{url_for('home')}}">Actes princiers</a>
<a class="navbar-brand" href="{{url_for('main.home')}}">Actes princiers</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
@ -25,10 +25,10 @@
<a class="nav-link" href="#">À propos <span class="sr-only">(current)</span></a>
</li>-->
<li class="nav-item">
<a class="nav-link" href="{{url_for('about')}}">À propos</a>
<a class="nav-link" href="{{url_for('main.about')}}">À propos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{url_for('corpora_all')}}">Corpus</a>
<a class="nav-link" href="{{url_for('main.corpora_all')}}">Corpus</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Contact</a>

@ -4,8 +4,8 @@
<h1>Corpus</h1>
<p>Corpus disponibles :</p>
<ul>
<li><a href="{{url_for('actes', house='Bourbon')}}">Actes des ducs de Bourbon</a></li>
<li><a href="{{url_for('actes', house='Berry')}}">Actes des ducs de Berry</a></li>
<li><a href="{{url_for('main.actes', house='Bourbon')}}">Actes des ducs de Bourbon</a></li>
<li><a href="{{url_for('main.actes', house='Berry')}}">Actes des ducs de Berry</a></li>
</ul>
</div><!-- /.container -->
{% endblock %}

@ -4,7 +4,7 @@
<h1>Corpus des actes des ducs et duchesses de {{house}}</h1>
<h2>Les corpus disponibles</h2>
<ul>
<li><a href="{{url_for('prince_corpus', house='Bourbon', prince='Charles_')}}">Actes de Charles I<sup>er</sup> (1421-1456)</a></li>
<li><a href="{{url_for('main.prince_corpus', house='Bourbon', prince='Charles_')}}">Actes de Charles I<sup>er</sup> (1421-1456)</a></li>
<li><a href="#">Actes d'Agnès de Bourgogne (1423-1476)</a></li>
</ul>
</div><!-- /.container -->

@ -8,7 +8,7 @@
<div class="col-md-7">
<h2 class="featurette-heading">Actes princiers <br/> <span class="text-muted">XII<sup>e</sup> siècle &mdash; XVI<sup>e</sup> siècle</span></h2>
<p class="lead">Ce site présente des actes élaborés par les chancelleries de plusieurs princes et princessses de sang royal des XIVe et XVe siècles. Cet ensemble, en grande partie inédit, a pour but d'aider à mieux articuler les enjeux de pouvoir des princes de la fin du Moyen Âge avec les logiques décriture de leurs chancelleries.</p>
<p><a class="btn btn-outline-success" href="{{url_for('about')}}" role="button">En savoir plus &raquo;</a></p>
<p><a class="btn btn-outline-success" href="{{url_for('main.about')}}" role="button">En savoir plus &raquo;</a></p>
</div>
<div class="col-md-5">
<figure>
@ -61,7 +61,7 @@
<p>Corpus des actes de la maison de Bourbon.</p>
<p>Louis II et Anne Dauphine</p>
<p>Charles I<sup>er</sup> et Agnès de Bourgogne</p>
<p><a class="btn btn-outline-success" href="{{url_for('actes', house='Bourbon')}}" role="button">Accéder aux actes &raquo;</a></p>
<p><a class="btn btn-outline-success" href="{{url_for('main.actes', house='Bourbon')}}" role="button">Accéder aux actes &raquo;</a></p>
</div><!-- /.col-lg-4 -->
</div><!-- /.row -->

Loading…
Cancel
Save