Modifications mineures
This commit is contained in:
parent
6320b99070
commit
60c79a05a9
1 changed files with 38 additions and 40 deletions
78
app.py
78
app.py
|
@ -12,27 +12,29 @@ app.config['TEMPLATES_AUTO_RELOAD'] = True
|
||||||
|
|
||||||
class Status(Enum):
|
class Status(Enum):
|
||||||
ERREUR_LIEN = "Le lien doit être en http ou https et valide !"
|
ERREUR_LIEN = "Le lien doit être en http ou https et valide !"
|
||||||
|
ERREUR_INCONNUE = "Une erreur inconnue a été rencontrée !"
|
||||||
BON = "Lien ajouté !"
|
BON = "Lien ajouté !"
|
||||||
|
|
||||||
def ecritureFichierHtml(nouvLien, cheminFichier):
|
class Manip():
|
||||||
with open(cheminFichier, 'r+') as file:
|
def ecritureFichierHtml(nouvLien, cheminFichier):
|
||||||
soup = BeautifulSoup(file, 'html.parser')
|
with open(cheminFichier, 'r+') as file:
|
||||||
soup.find("hr").insert_after("", nouvLien)
|
soup = BeautifulSoup(file, 'html.parser')
|
||||||
file.seek(0)
|
soup.find("hr").insert_after("", nouvLien)
|
||||||
file.write(soup.prettify())
|
file.seek(0)
|
||||||
|
file.write(soup.prettify())
|
||||||
def valideUrl(url: str) -> bool:
|
|
||||||
# thx django
|
def valideUrl(url: str) -> bool:
|
||||||
regex = re.compile(
|
# thx django
|
||||||
r'^(?:http|ftp)s?://' # http:// or https://
|
regex = re.compile(
|
||||||
r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|' # domain...
|
r'^(?:http|ftp)s?://' # http:// or https://
|
||||||
r'localhost|' # localhost...
|
r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|' # domain...
|
||||||
r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|' # ...or ipv4
|
r'localhost|' # localhost...
|
||||||
r'\[?[A-F0-9]*:[A-F0-9:]+\]?)' # ...or ipv6
|
r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|' # ...or ipv4
|
||||||
r'(?::\d+)?' # optional port
|
r'\[?[A-F0-9]*:[A-F0-9:]+\]?)' # ...or ipv6
|
||||||
r'(?:/?|[/?]\S+)$', re.IGNORECASE)
|
r'(?::\d+)?' # optional port
|
||||||
|
r'(?:/?|[/?]\S+)$', re.IGNORECASE)
|
||||||
return bool(re.search(regex, url))
|
|
||||||
|
return bool(re.search(regex, url))
|
||||||
|
|
||||||
@app.route('/')
|
@app.route('/')
|
||||||
def slash():
|
def slash():
|
||||||
|
@ -54,29 +56,25 @@ def bizutage_redirect():
|
||||||
|
|
||||||
@app.route("/bizutage", methods=["POST"])
|
@app.route("/bizutage", methods=["POST"])
|
||||||
def bizutage():
|
def bizutage():
|
||||||
if request.method == "POST":
|
lien = request.values['lien']
|
||||||
lien = request.values['lien']
|
if not valideUrl(lien):
|
||||||
if not valideUrl(lien):
|
return render_template(
|
||||||
return render_template(
|
"ajout.html",
|
||||||
"ajout.html",
|
erreur=Status.ERREUR_LIEN.value
|
||||||
erreur=Status.ERREUR_LIEN.value
|
)
|
||||||
)
|
|
||||||
|
|
||||||
titre = Markup.escape(request.values['titre'])
|
titre = Markup.escape(request.values['titre'])
|
||||||
desc = Markup.escape(request.values['desc'])
|
desc = Markup.escape(request.values['desc'])
|
||||||
nouvLien = f"""<div class="elem">
|
nouvLien = f"""<div class="elem">
|
||||||
<h2>{titre}</h2>
|
<h2>{titre}</h2>
|
||||||
<p><a href=\"{lien}\">Lien</a></p>
|
<p><a href=\"{lien}\">Lien</a></p>
|
||||||
<hr>
|
<hr>
|
||||||
<p>{desc}</p>
|
<p>{desc}</p>
|
||||||
</div>"""
|
</div>"""
|
||||||
nouvLienHtml = BeautifulSoup(nouvLien, "html.parser")
|
nouvLienHtml = BeautifulSoup(nouvLien, "html.parser")
|
||||||
|
|
||||||
ecritureFichierHtml(nouvLienHtml, "static/index.html")
|
ecritureFichierHtml(nouvLienHtml, "static/index.html")
|
||||||
ecritureFichierHtml(nouvLienHtml, "lite/index.html")
|
ecritureFichierHtml(nouvLienHtml, "lite/index.html")
|
||||||
|
|
||||||
else:
|
|
||||||
print("error")
|
|
||||||
return render_template("ajout.html", reussi=Status.BON.value)
|
return render_template("ajout.html", reussi=Status.BON.value)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
Loading…
Reference in a new issue