display acte text

main
jgenero 3 years ago
parent 462dac259f
commit ea6874550b

@ -2,9 +2,9 @@ import os
import re
import typing as t
from peewee import *
from lxml import etree
from flask import Blueprint, abort, render_template, request, send_from_directory
from playhouse.flask_utils import PaginatedQuery
from peewee import *
from .app import APPPATH
from .modeles import Institution, State, House, Intervention_type, Production_place, Diplo_type, Document, Acte, Individual, Involved_in
@ -78,9 +78,24 @@ def acte(house=None, prince=None, acte_id=None):
Diplo_type.id_diplo_type == acte_diplo_type)]
state = [t.state_label for t in State.select().where(
State.id_state == acte_state_id)]
source_doc = etree.parse(
os.path.join(APPPATH, "static", "xml", house, acte_id + '.xml'))
# remove namespace :
query = "descendant-or-self::*[namespace-uri()!='']"
for element in source_doc.xpath(query):
#replace element name with its local name
element.tag = etree.QName(element).localname
etree.cleanup_namespaces(source_doc)
xslt_doc = etree.parse(os.path.join(APPPATH, "static", "xsl", "actes_princiers.xsl"))
xslt_transformer = etree.XSLT(xslt_doc)
output_doc = xslt_transformer(source_doc)
print(output_doc)
return render_template("acte.html", house=house, prince=prince,
infos=q_acte, place=place[0], doc=doc[0][0], arch=inst[0],
diplo=diplo_t[0].replace("_", " "), state=state[0])
diplo=diplo_t[0].replace("_", " "), state=state[0],
output_doc=output_doc)
@main.route("/contact")
def contact() -> t.Text:

@ -10,4 +10,75 @@
font-style: italic;
font-size: small;
margin-top: 0;
}
.analyse {
text-align: justify;
font-style: italic;
font-size: 20px;
line-height: 1.8;
}
.analyse > p {
text-indent: 5%;
margin-top: 1.5%;
margin-bottom: 1.5%;
}
.tradition {
font-size: small;
text-align: justify;
margin-top: 10px;
margin-bottom: 20px;
font-size: 17px;
line-height: 1.5;
}
.tradition > p {
margin: 0.5%;
}
.act {
text-align: justify;
text-indent: 5%;
margin-top: 2%;
margin-bottom: 0.5%;
font-size: 20px;
line-height: 2;
}
.text_etabli {
text-align: center;
font-variant: small-caps;
font-size: 18pt;
}
.mht {
text-indent: 5%;
font-size: 14pt;
margin-top: 0.5%;
margin-bottom: 0.5%;
}
.signature {
text-indent: 5%;
font-size: 14pt;
margin-top: 0.5%;
margin-bottom: 0.5%
}
.signature > p {
margin-top: 0%;
margin-bottom: 0.5%
}
.note-global {
margin-top: 1%;
margin-bottom: 3%;
font-size: 11pt;
}
.note-global > p {
margin: 0.25%;
text-align: justify;
}

@ -29,7 +29,7 @@
</xsl:template>
<xsl:template match="hi[@rend='i']">
<!-- italique -->
<xsl:element name="i">
<xsl:element name="em">
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
@ -97,7 +97,7 @@
<xsl:apply-templates select=".//monogr/title[@level='a']"/>
<xsl:text> &#187;, dans </xsl:text>
<!-- titre de la revue en italique -->
<xsl:element name="i">
<xsl:element name="em">
<xsl:apply-templates select=".//monogr/title[@level='j']"/>
</xsl:element>
<xsl:if test=".//biblScope[@unit='part']">
@ -122,7 +122,7 @@
</xsl:when>
<xsl:otherwise>
<!-- 2/ il ne s'agit pas d'un article : c'est un titre de monographie -->
<xsl:element name="i">
<xsl:element name="em">
<xsl:apply-templates select=".//monogr/title[@level='m']"/>
</xsl:element>
</xsl:otherwise>
@ -194,7 +194,7 @@
</xsl:template>
<xsl:template match="bibl">
<!-- référence bibliographique non structurée -->
<xsl:element name="i">
<xsl:element name="em">
<!-- titre -->
<xsl:value-of select="./title"/>
</xsl:element>
@ -230,9 +230,9 @@
</xsl:template>
<!-- DATATION -->
<xsl:template match="docDate">
<xsl:element name="p">
<xsl:element name="h1">
<xsl:attribute name="class">
<xsl:text>date</xsl:text>
<xsl:text>text-center</xsl:text>
</xsl:attribute>
<xsl:choose>
<!-- dateq de temps et de lieu -->
@ -365,10 +365,10 @@
<!-- @href pour lier l'appel à l'id de la note en fonction de son numéro -->
<xsl:attribute name="href">
<xsl:text>#</xsl:text>
<xsl:number count="//text/body/div//note[@type='n1']" level="any" format="1"/>
<xsl:number count="//note[@type='n1']" level="any" format="1"/>
</xsl:attribute>
<!-- numéro de la note -->
<xsl:number count="//text/body/div//note[@type='n1']" level="any" format="1"/>
<xsl:number count="//note[@type='n1']" level="any" format="1"/>
</xsl:element>
</xsl:element>
</xsl:template>

@ -8,5 +8,6 @@
<p>{{item.analysis}}.</p>
<p>{{state}}, {{diplo}}, {{arch}}, {{doc}}, {{item.ref_acte}}.</p>
{% endfor %}
{{output_doc|safe}}
</div><!-- /.container -->
{% endblock %}
Loading…
Cancel
Save