Ajout des catégories

This commit is contained in:
Rick 2020-10-01 00:55:37 +02:00
parent 60c79a05a9
commit 3c7b14685e
Signed by: Rick
GPG key ID: 9570A7DB7CB2F436
7 changed files with 219 additions and 12 deletions

27
app.py
View file

@ -1,5 +1,5 @@
from flask import Flask, render_template, request, redirect, make_response, \
Markup
Markup
from enum import Enum
from bs4 import BeautifulSoup
import re
@ -17,9 +17,10 @@ class Status(Enum):
class Manip():
def ecritureFichierHtml(nouvLien, cheminFichier):
nouvLienHtml = BeautifulSoup(nouvLien, "html.parser")
with open(cheminFichier, 'r+') as file:
soup = BeautifulSoup(file, 'html.parser')
soup.find("hr").insert_after("", nouvLien)
soup.find("hr").insert_after("", nouvLienHtml)
file.seek(0)
file.write(soup.prettify())
@ -42,6 +43,10 @@ def slash():
response.headers["Content-Security-Policy"] = "default-src 'self'"
return response
@app.route("/categories/<path:subpath>")
def categories(subpath):
return app.send_static_file(subpath + ".html")
@app.route("/ajout")
def ajout():
return render_template("ajout.html")
@ -56,25 +61,27 @@ def bizutage_redirect():
@app.route("/bizutage", methods=["POST"])
def bizutage():
lien = request.values['lien']
if not valideUrl(lien):
lien = request.values["lien"]
if not Manip.valideUrl(lien):
return render_template(
"ajout.html",
erreur=Status.ERREUR_LIEN.value
)
titre = Markup.escape(request.values['titre'])
desc = Markup.escape(request.values['desc'])
nouvLien = f"""<div class="elem">
titre = Markup.escape(request.values["titre"])
desc = Markup.escape(request.values["desc"])
categorie = Markup.escape(request.values["categories"])
nouvLien = f"""<div class="elem {categorie}">
<h2>{titre}</h2>
<p><a href=\"{lien}\">Lien</a></p>
<hr>
<p>{desc}</p>
</div>"""
nouvLienHtml = BeautifulSoup(nouvLien, "html.parser")
ecritureFichierHtml(nouvLienHtml, "static/index.html")
ecritureFichierHtml(nouvLienHtml, "lite/index.html")
Manip.ecritureFichierHtml(nouvLien, "static/index.html")
Manip.ecritureFichierHtml(nouvLien, "static/" + categorie + ".html")
Manip.ecritureFichierHtml(nouvLien, "lite/index.html")
Manip.ecritureFichierHtml(nouvLien, "lite/" + categorie + ".html")
return render_template("ajout.html", reussi=Status.BON.value)
if __name__ == "__main__":

54
static/autres.html Normal file
View file

@ -0,0 +1,54 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<link href="/static/styles/base.css" rel="stylesheet"/>
<link href="/static/styles/index.css" rel="stylesheet"/>
<title>
Autre
</title>
</head>
<body>
<div id="menu">
<h1>
Liens
</h1>
<header>
<!-- <a href="recherche/">
Recherche
</a> -->
<a href="/ajout">
Ajout
</a>
<a href="/apropos">
A propos
</a>
</header>
</div>
<div id="categories">
<ul>
<li>
<a href="/">
Toutes catégories
</a>
</li>
<li>
<a href="/categories/informatique" class="informatique">
Informatique
</a>
</li>
<li>
<a href="/categories/musique" class="musique">
Musique
</a>
</li>
<li>
<a href="/categories/autres" class="autres">
Autres
</a>
</li>
</ul>
</div>
<hr/>
</body>
</html>

View file

@ -10,10 +10,19 @@
<div id="menu">
<h1>Liens</h1>
<header>
<!-- <a href="recherche/">Recherche</a> -->
<a href="ajout">Ajout</a>
<a href="apropos">A propos</a>
</header>
</div>
<div id="categories">
<ul>
<li><a href="/">Toutes catégories</a></li>
<li><a href="/categories/informatique" class="informatique">Informatique</a></li>
<li><a href="/categories/musique" class="musique">Musique</a></li>
<li><a href="/categories/autres" class="autres">Autres</a></li>
</ul>
</div>
<p>Rafraichissez la page pour voir les derniers liens ajoutés.</p>
<hr>

54
static/informatique.html Normal file
View file

@ -0,0 +1,54 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<link href="/static/styles/base.css" rel="stylesheet"/>
<link href="/static/styles/index.css" rel="stylesheet"/>
<title>
Informatique
</title>
</head>
<body>
<div id="menu">
<h1>
Liens
</h1>
<header>
<!-- <a href="/recherche">
Recherche
</a> -->
<a href="/ajout">
Ajout
</a>
<a href="/apropos">
A propos
</a>
</header>
</div>
<div id="categories">
<ul>
<li>
<a href="/">
Toutes catégories
</a>
</li>
<li>
<a href="/categories/informatique" class="informatique">
Informatique
</a>
</li>
<li>
<a href="/categories/musique" class="musique">
Musique
</a>
</li>
<li>
<a href="/categories/autres" class="autres">
Autres
</a>
</li>
</ul>
</div>
<hr/>
</body>
</html>

54
static/musique.html Normal file
View file

@ -0,0 +1,54 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<link href="/static/styles/base.css" rel="stylesheet"/>
<link href="/static/styles/index.css" rel="stylesheet"/>
<title>
Musique
</title>
</head>
<body>
<div id="menu">
<h1>
Liens
</h1>
<header>
<!-- <a href="recherche/">
Recherche
</a> -->
<a href="/ajout">
Ajout
</a>
<a href="/apropos">
A propos
</a>
</header>
</div>
<div id="categories">
<ul>
<li>
<a href="/">
Toutes catégories
</a>
</li>
<li>
<a href="/categories/informatique" class="informatique">
Informatique
</a>
</li>
<li>
<a href="/categories/musique" class="musique">
Musique
</a>
</li>
<li>
<a href="/categories/autres" class="autres">
Autres
</a>
</li>
</ul>
</div>
<hr/>
</body>
</html>

View file

@ -45,4 +45,4 @@ header a:hover {
#lienAccueil {
text-decoration: none;
color: white;
}
}

View file

@ -1,7 +1,24 @@
#categories {
height: 3em;
}
#categories ul {
list-style-type: none;
display: flex;
justify-content:space-around;
height: 100%;
}
#categories li {
padding-top: 1em;
}
#categories a {
color: white;
text-decoration: none;
padding: 2em;
padding-top: 1em;
padding-bottom: 1em;
}
.elem {
@ -28,4 +45,16 @@
margin-right: 5px;
padding: 5px;
background-color: dimgray;
}
}
.informatique {
background-color: #3A506B;
}
.musique {
background-color: #A4036F;
}
.autres {
background-color: #388659;
}