Skip to content

Commit a19b510

Browse files
authored
🔧 Commentaire en anglais (#84)
1 parent 7de7726 commit a19b510

File tree

1 file changed

+48
-51
lines changed

1 file changed

+48
-51
lines changed

‎main.py‎

Lines changed: 48 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
"""
2-
Fichier principal de l'application web Marmita.
3-
Ce fichier contient toutes les routes de l'application web.
4-
Il permet de lancer le serveur en local.
2+
Main file of the Marmita web application.
3+
This file contains all the routes for the web application.
4+
It is used to launch the server locally.
55
6-
Copyright Marmit@ – HowlingByte © 2023
7-
Licence Mozilla Public License 2.0
6+
Copyright Marmit@ - HowlingByte © 2023
7+
Mozilla Public License 2.0
88
"""
99

1010
__author__ = "HowlingByte"
@@ -13,18 +13,17 @@
1313

1414
import sqlite3
1515
from bottle import request, route, run, view, static_file, error, HTTPResponse, redirect
16-
1716
# from bottle import get, post, request, route, run, view, static_file, response, error, redirect
1817

1918
DATABASE = "database/marmita.db"
2019

2120

2221
class Famille: # pylint: disable=R0903
2322
"""
24-
Classe qui représente une famille de recettes. Une famille possède les attributs suivants:
25-
- Id: l'identifiant de la famille dans la base de données
26-
- nom: le nom de la famille
27-
- image: l'image de la famille
23+
Class representing a family of recipes. A family has the following attributes:
24+
- famille_id: the family identifier in the database
25+
- nom: the name of the family
26+
- image: the image of the family
2827
"""
2928

3029
def __init__(self: object, famille_id: int, nom: str, image: str):
@@ -35,11 +34,11 @@ def __init__(self: object, famille_id: int, nom: str, image: str):
3534

3635
class Ingredient: # pylint: disable=R0903
3736
"""
38-
Classe qui représente un ingrédient. Un ingrédient possède les attributs suivants:
39-
- Id: l'identifiant de l'ingrédient dans la base de données
40-
- nom: le nom de l'ingrédient
41-
- quantite: la quantité de l'ingrédient
42-
- unite: l'unité de mesure de la quantité de l'ingrédient
37+
Class representing an ingredient. An ingredient has the following attributes:
38+
- ingredient_id: the identifier of the ingredient in the database
39+
- nom: the name of the ingredient
40+
- quantite: the quantity of the ingredient
41+
- unite: the unit of measurement for the quantity of the ingredient
4342
"""
4443

4544
def __init__(
@@ -53,9 +52,9 @@ def __init__(
5352

5453
class Etape: # pylint: disable=R0903
5554
"""
56-
Classe qui re présente une étape de recette. Une étape possède les attributs suivants:
57-
- num: le numéro de l'étape dans la recette
58-
- texte: le texte de l'étape
55+
Class that presents a recipe step. A step has the following attributes:
56+
- num: the number of the step in the recipe
57+
- texte: the text of the step
5958
"""
6059

6160
def __init__(self: object, num: int, texte: str):
@@ -65,17 +64,16 @@ def __init__(self: object, num: int, texte: str):
6564

6665
class Recette: # pylint: disable=R0903, R0902
6766
"""
68-
Classe qui représente une recette. Une recette possède les attributs suivants:
69-
- Id: l'identifiant de la recette dans la base de données
70-
- nom: le nom de la recette
71-
- image: l'image de la recette
72-
- preparation: le temps de préparation de la recette
73-
- cuisson: le temps de cuisson de la recette
74-
- nombre_de_personnes: le nombre de personnes pour lesquelles la recette est prévue
75-
- difficulte: la difficulté de la recette
76-
- ingredients: la liste des ingrédients de la recette
77-
- etapes: la liste des étapes de la recette
78-
- famille: la famille de la recette
67+
Class representing a recipe. A recipe has the following attributes:
68+
- recette_id: the recipe identifier in the database
69+
- nom: the name of the recipe
70+
- image: the image of the recipe
71+
- cuisson: the recipe cooking time
72+
- nbpers: the number of people for whom the recipe is intended
73+
- diff: the difficulty of the recipe
74+
- ingredients: the list of ingredients in the recipe
75+
- etapes: the list of steps in the recipe
76+
- famille_recette: the recipe family
7977
"""
8078

8179
def __init__( # pylint: disable=R0913
@@ -103,8 +101,8 @@ def __init__( # pylint: disable=R0913
103101

104102
def open_sql(database=DATABASE):
105103
"""
106-
Fonction qui permet d'ouvrir une connexion à la base de données.
107-
:return: le connecteur et le curseur de la base de données
104+
Function used to open a connection to the database.
105+
:return: the connector and the database cursor
108106
"""
109107
conn = sqlite3.connect(database)
110108
cur = conn.cursor()
@@ -113,8 +111,8 @@ def open_sql(database=DATABASE):
113111

114112
def close_sql(cur):
115113
"""
116-
Fonction qui permet de fermer une connexion à la base de données.
117-
:param cur: le curseur de la base de données
114+
Function used to close a connection to the database.
115+
:param cur: the database cursor
118116
"""
119117
cur.close()
120118

@@ -123,7 +121,7 @@ def close_sql(cur):
123121
@view("template/accueil.tpl")
124122
def accueil():
125123
"""
126-
Fonction qui permet d'afficher la page d'accueil.
124+
Function used to display the home page.
127125
"""
128126
_, cur = open_sql()
129127
cur.execute("SELECT id, nom, image FROM famille")
@@ -145,14 +143,14 @@ def accueil():
145143
@view("template/famille.tpl")
146144
def famille():
147145
"""
148-
Fonction qui permet d'afficher la page d'une famille.
146+
Function used to display a family page.
149147
"""
150148
try:
151149
id_request = request.query.id # type: ignore # pylint: disable=no-member
152150

153151
conn, cur = open_sql()
154152

155-
# Requête SQL pour récupérer les recettes d'une famille
153+
# SQL query to retrieve a family's recipes
156154
cur.execute("SELECT * FROM recettes WHERE id_famille = ?", (id_request,))
157155
liste_recettes = []
158156
for row in cur:
@@ -187,17 +185,16 @@ def famille():
187185
return None
188186

189187

190-
# Affichage d'une recette
191188
@route("/recettes/<id_request>")
192189
@view("template/recette.tpl")
193190
def recettes(id_request): # pylint: disable=R0914
194191
"""
195-
Fonction qui permet d'afficher la page d'une recette.
192+
Function used to display a recipe page.
196193
"""
197194
try:
198195
conn, cur = open_sql()
199196

200-
# Requête 1 (attributs de la table Recettes)
197+
# Query 1 (attributes from the Recipes table)
201198
cur.execute("SELECT * FROM Recettes WHERE ID=?", (id_request,))
202199
infos_recette = cur.fetchone()
203200
conn.commit()
@@ -210,12 +207,12 @@ def recettes(id_request): # pylint: disable=R0914
210207
recette_difficulte = infos_recette[5]
211208
recette_famille = infos_recette[6]
212209

213-
# Requête pour récupérer le nom de la famille
210+
# Query to retrieve the family name
214211
cur.execute("SELECT Nom FROM Famille WHERE ID=?", (recette_famille,))
215212
nom_famille = cur.fetchone()
216213
conn.commit()
217214

218-
# Requête pour récupérer les ingrédients de la recette
215+
# Query to retrieve recipe ingredients
219216
cur.execute(
220217
"SELECT Ingredients.ID, Ingredients.Nom, Quantite, Unite \
221218
FROM IngredientsDeRecette \
@@ -237,7 +234,7 @@ def recettes(id_request): # pylint: disable=R0914
237234
liste_ingredients.append(ingredient)
238235
conn.commit()
239236

240-
# Requête pour récupérer les étapes de la recette
237+
# Query to retrieve recipe steps
241238
cur.execute(
242239
"SELECT Numero, Descriptif FROM EtapesDeRecette \
243240
WHERE ID_recettes=?",
@@ -277,9 +274,9 @@ def recettes(id_request): # pylint: disable=R0914
277274
@view("template/chercheRecettes.tpl")
278275
def rechercher():
279276
"""
280-
Fonction qui permet d'afficher la page de recherche de recettes.
277+
Function used to display the recipe search page.
281278
"""
282-
# Récupérer les données du formulaire
279+
# Retrieve data from the form
283280
recette_recherchee = request.forms.getunicode("recette") # type: ignore # pylint: disable=no-member
284281

285282
if recette_recherchee != "":
@@ -299,7 +296,7 @@ def rechercher():
299296

300297
_, cur = open_sql()
301298

302-
# Requête SQL pour récupérer les recettes d'une famille
299+
# SQL query to retrieve a family's recipes
303300
cur.execute("SELECT * FROM recettes WHERE nom " + condition)
304301
liste_recettes = []
305302
for row in cur:
@@ -328,7 +325,7 @@ def rechercher():
328325
@view("static/html/contact.html")
329326
def contact():
330327
"""
331-
Fonction qui permet d'afficher la page de contact.
328+
Function used to display the contact page.
332329
"""
333330
return {}
334331

@@ -337,7 +334,7 @@ def contact():
337334
@view("static/html/mentions.html")
338335
def mentions():
339336
"""
340-
Fonction qui permet d'afficher la page des mentions légales.
337+
Function used to display the legal information page.
341338
"""
342339
return {}
343340

@@ -346,31 +343,31 @@ def mentions():
346343
@view("static/html/404.html")
347344
def on_error404(_):
348345
"""
349-
Fonction qui permet d'afficher la page d'erreur 404.
346+
Function used to display the 404 error page.
350347
"""
351348
return {}
352349

353350

354351
@route("/images/<filepath:path>")
355352
def server_static_image(filepath):
356353
"""
357-
Fonction qui permet d'afficher les images.
354+
Function used to display images.
358355
"""
359356
return static_file(filepath, root="static/images/")
360357

361358

362359
@route("/fonts/<filepath:path>")
363360
def server_static_fonts(filepath):
364361
"""
365-
Fonction qui permet d'afficher les fonts.
362+
Function used to display fonts.
366363
"""
367364
return static_file(filepath, root="static/fonts/")
368365

369366

370367
@route("/css/<filepath:path>")
371368
def server_static_css(filepath):
372369
"""
373-
Fonction qui permet d'afficher les css.
370+
Function used to display css files.
374371
"""
375372
return static_file(filepath, root="static/css/")
376373

0 commit comments

Comments
 (0)