Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
OpenQuizz
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
10
Issues
10
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Weber Rodolphe
OpenQuizz
Commits
709a9c4f
Commit
709a9c4f
authored
Jun 29, 2021
by
Jérémie Passerat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Suppression d'un import erroné dans Utils
parent
bec2f386
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
79 additions
and
10 deletions
+79
-10
app.py
app.py
+52
-2
utils.py
config/utils.py
+0
-6
classjinja2_1_1compiler_1_1_code_generator.js
...tation/html/classjinja2_1_1compiler_1_1_code_generator.js
+1
-1
contenu_dao.py
modele/contenu_dao.py
+1
-1
test_flask.py
test_flask.py
+25
-0
No files found.
app.py
View file @
709a9c4f
...
@@ -3,8 +3,9 @@ import http
...
@@ -3,8 +3,9 @@ import http
from
distutils
import
util
from
distutils
import
util
import
flask
import
flask
import
pytest
from
bson
import
json_util
,
ObjectId
from
bson
import
json_util
,
ObjectId
from
flask
import
Flask
,
request
,
jsonify
,
Blueprint
from
flask
import
Flask
,
request
,
jsonify
,
Blueprint
,
make_response
from
pymongo
import
MongoClient
from
pymongo
import
MongoClient
from
config.utils
import
Utils
from
config.utils
import
Utils
...
@@ -20,6 +21,11 @@ from flask import Flask
...
@@ -20,6 +21,11 @@ from flask import Flask
from
flask_cors
import
CORS
,
cross_origin
from
flask_cors
import
CORS
,
cross_origin
from
flask_restx
import
Api
,
Resource
,
Namespace
,
namespace
from
flask_restx
import
Api
,
Resource
,
Namespace
,
namespace
from
flask_jwt_extended
import
create_access_token
from
flask_jwt_extended
import
get_jwt_identity
from
flask_jwt_extended
import
jwt_required
from
flask_jwt_extended
import
JWTManager
app
=
Flask
(
__name__
)
app
=
Flask
(
__name__
)
cors
=
CORS
(
app
)
cors
=
CORS
(
app
)
app
.
config
[
'CORS_HEADERS'
]
=
'Content-Type'
app
.
config
[
'CORS_HEADERS'
]
=
'Content-Type'
...
@@ -34,6 +40,9 @@ client = MongoClient('localhost', 27017)
...
@@ -34,6 +40,9 @@ client = MongoClient('localhost', 27017)
base_donnees
=
client
.
squelette
base_donnees
=
client
.
squelette
app
.
config
[
"JWT_SECRET_KEY"
]
=
"l'ordinateur-c'est-magique"
# Change this!
jwt
=
JWTManager
(
app
)
## *********************************************************************************************************************
## *********************************************************************************************************************
## Entrées spécifique pour swagger
## Entrées spécifique pour swagger
blueprint
=
Blueprint
(
'api'
,
__name__
)
blueprint
=
Blueprint
(
'api'
,
__name__
)
...
@@ -66,9 +75,15 @@ class CreerUtilisateur(Resource):
...
@@ -66,9 +75,15 @@ class CreerUtilisateur(Resource):
@
users
.
doc
(
description
=
"vérification qu'un utilisateur est enrengistré dans la base"
)
@
users
.
doc
(
description
=
"vérification qu'un utilisateur est enrengistré dans la base"
)
class
VerifierUtilisateur
(
Resource
):
class
VerifierUtilisateur
(
Resource
):
@
users
.
response
(
200
,
"Vérification de l'utilisateur effectuée"
)
@
users
.
response
(
200
,
"Vérification de l'utilisateur effectuée"
)
@
users
.
response
(
200
,
"Vérification de l'utilisateur ratée"
)
## vérification qu'un utilisateur est enrengistré dans la base
## vérification qu'un utilisateur est enrengistré dans la base
def
get
(
self
):
def
get
(
self
):
return
str
(
utilisateur_dao
.
presence_utilisateur
(
request
.
args
.
get
(
"login"
))),
200
if
utilisateur_dao
.
presence_utilisateur
(
request
.
args
.
get
(
"login"
)):
access_token
=
create_access_token
(
identity
=
request
.
args
.
get
(
"login"
))
return
make_response
(
jsonify
(
access_token
=
access_token
),
200
)
else
:
return
"L'utilisateur n'existe pas"
,
404
@
users
.
route
(
'/changePassword'
)
@
users
.
route
(
'/changePassword'
)
...
@@ -77,6 +92,7 @@ class ChangerMdp(Resource):
...
@@ -77,6 +92,7 @@ class ChangerMdp(Resource):
@
users
.
response
(
200
,
"Mot de Passe changé"
)
@
users
.
response
(
200
,
"Mot de Passe changé"
)
@
users
.
response
(
409
,
'Erreur changement mot de passe'
)
@
users
.
response
(
409
,
'Erreur changement mot de passe'
)
## changement du mot de passe d'un utilisateur
## changement du mot de passe d'un utilisateur
@
jwt_required
()
def
patch
(
self
):
def
patch
(
self
):
pass
pass
...
@@ -86,6 +102,7 @@ class ChangerMdp(Resource):
...
@@ -86,6 +102,7 @@ class ChangerMdp(Resource):
class
RecupererTousLesUtilisateurs
(
Resource
):
class
RecupererTousLesUtilisateurs
(
Resource
):
@
users
.
response
(
200
,
"Utilisateurs récupérés"
)
@
users
.
response
(
200
,
"Utilisateurs récupérés"
)
## récupération de tous les utilisateurs en base
## récupération de tous les utilisateurs en base
@
jwt_required
()
def
get
(
self
):
def
get
(
self
):
return
json
.
loads
(
json
.
dumps
(
list
(
utilisateur_dao
.
get_all_utilisateurs
()),
default
=
json_util
.
default
)),
200
return
json
.
loads
(
json
.
dumps
(
list
(
utilisateur_dao
.
get_all_utilisateurs
()),
default
=
json_util
.
default
)),
200
...
@@ -104,6 +121,7 @@ contenus = api.namespace('contenus', description='Entrées liées à la gestion
...
@@ -104,6 +121,7 @@ contenus = api.namespace('contenus', description='Entrées liées à la gestion
class
AjouterContenu
(
Resource
):
class
AjouterContenu
(
Resource
):
@
contenus
.
response
(
201
,
"Contenu créé"
)
@
contenus
.
response
(
201
,
"Contenu créé"
)
## ajouter un nouveau contenu
## ajouter un nouveau contenu
@
jwt_required
()
def
post
(
self
):
def
post
(
self
):
auteur
=
request
.
json
[
"auteur"
]
auteur
=
request
.
json
[
"auteur"
]
contenu_a_ecrire
=
request
.
json
[
"contenu_a_ecrire"
]
contenu_a_ecrire
=
request
.
json
[
"contenu_a_ecrire"
]
...
@@ -120,6 +138,7 @@ class AjouterContenu(Resource):
...
@@ -120,6 +138,7 @@ class AjouterContenu(Resource):
class
AjouterTiers
(
Resource
):
class
AjouterTiers
(
Resource
):
@
contenus
.
response
(
201
,
"Tiers créé"
)
@
contenus
.
response
(
201
,
"Tiers créé"
)
## ajouter un nouveau contenu tiers pour un auteur
## ajouter un nouveau contenu tiers pour un auteur
@
jwt_required
()
def
patch
(
self
):
def
patch
(
self
):
id_tiers
=
json
.
loads
(
request
.
json
[
"id_tiers"
])
id_tiers
=
json
.
loads
(
request
.
json
[
"id_tiers"
])
contenu_dao
.
creer_tiers
(
request
.
json
[
"auteur"
],
id_tiers
[
"$oid"
],
request
.
json
[
"version"
])
contenu_dao
.
creer_tiers
(
request
.
json
[
"auteur"
],
id_tiers
[
"$oid"
],
request
.
json
[
"version"
])
...
@@ -132,6 +151,7 @@ class AjouterTiers(Resource):
...
@@ -132,6 +151,7 @@ class AjouterTiers(Resource):
class
GetContenuParId
(
Resource
):
class
GetContenuParId
(
Resource
):
@
contenus
.
response
(
200
,
"Contenu récupéré"
)
@
contenus
.
response
(
200
,
"Contenu récupéré"
)
## récupérer un contenu via son id
## récupérer un contenu via son id
@
jwt_required
()
def
get
(
self
,
id
):
def
get
(
self
,
id
):
return
json
.
loads
(
json
.
dumps
(
list
(
contenu_dao
.
get_contenu_par_id
(
int
(
id
))),
default
=
json_util
.
default
)),
200
return
json
.
loads
(
json
.
dumps
(
list
(
contenu_dao
.
get_contenu_par_id
(
int
(
id
))),
default
=
json_util
.
default
)),
200
...
@@ -144,6 +164,7 @@ class GetContenuParId(Resource):
...
@@ -144,6 +164,7 @@ class GetContenuParId(Resource):
class
GetContenuPanier
(
Resource
):
class
GetContenuPanier
(
Resource
):
@
contenus
.
response
(
200
,
"Panier récupéré"
)
@
contenus
.
response
(
200
,
"Panier récupéré"
)
## récupérer le contenu du panier d'un auteur
## récupérer le contenu du panier d'un auteur
@
jwt_required
()
def
get
(
self
,
auteur
):
def
get
(
self
,
auteur
):
auteur
=
auteur
.
replace
(
"_"
,
" "
)
auteur
=
auteur
.
replace
(
"_"
,
" "
)
return
json
.
loads
(
return
json
.
loads
(
...
@@ -157,6 +178,7 @@ class GetContenuPanier(Resource):
...
@@ -157,6 +178,7 @@ class GetContenuPanier(Resource):
class
GetContenuBanque
(
Resource
):
class
GetContenuBanque
(
Resource
):
@
contenus
.
response
(
200
,
"Banque récupérée"
)
@
contenus
.
response
(
200
,
"Banque récupérée"
)
## récupérer le contenu de la banque pour un auteur
## récupérer le contenu de la banque pour un auteur
@
jwt_required
()
def
get
(
self
,
auteur
):
def
get
(
self
,
auteur
):
auteur
=
auteur
.
replace
(
"_"
,
" "
)
auteur
=
auteur
.
replace
(
"_"
,
" "
)
return
json
.
loads
(
json
.
dumps
(
list
(
contenu_dao
.
get_contenus_non_auteur
(
auteur
)),
return
json
.
loads
(
json
.
dumps
(
list
(
contenu_dao
.
get_contenus_non_auteur
(
auteur
)),
...
@@ -168,6 +190,7 @@ class GetContenuBanque(Resource):
...
@@ -168,6 +190,7 @@ class GetContenuBanque(Resource):
class
SupprimerPerso
(
Resource
):
class
SupprimerPerso
(
Resource
):
@
contenus
.
response
(
200
,
"Contenu supprimé"
)
@
contenus
.
response
(
200
,
"Contenu supprimé"
)
## supprimer un contenu
## supprimer un contenu
@
jwt_required
()
def
delete
(
self
,
id_perso
):
def
delete
(
self
,
id_perso
):
id_perso
=
json
.
loads
(
id_perso
)
id_perso
=
json
.
loads
(
id_perso
)
contenu_dao
.
supprimer_contenu
(
id_perso
[
"$oid"
])
contenu_dao
.
supprimer_contenu
(
id_perso
[
"$oid"
])
...
@@ -181,6 +204,7 @@ class SupprimerPerso(Resource):
...
@@ -181,6 +204,7 @@ class SupprimerPerso(Resource):
class
supprimer_tiers
(
Resource
):
class
supprimer_tiers
(
Resource
):
@
contenus
.
response
(
200
,
"Tiers supprimé"
)
@
contenus
.
response
(
200
,
"Tiers supprimé"
)
## supprimer un tiers pour un auteur
## supprimer un tiers pour un auteur
@
jwt_required
()
def
delete
(
self
):
def
delete
(
self
):
id_tiers
=
json
.
loads
(
request
.
args
.
get
(
"id_tiers"
))
id_tiers
=
json
.
loads
(
request
.
args
.
get
(
"id_tiers"
))
...
@@ -197,6 +221,7 @@ class supprimer_tiers(Resource):
...
@@ -197,6 +221,7 @@ class supprimer_tiers(Resource):
class
creer_nouveau_contenu
(
Resource
):
class
creer_nouveau_contenu
(
Resource
):
@
contenus
.
response
(
201
,
"Nouveau contenu créé"
)
@
contenus
.
response
(
201
,
"Nouveau contenu créé"
)
## créer un contenu à partir d'une demande de publication refusée
## créer un contenu à partir d'une demande de publication refusée
@
jwt_required
()
def
post
(
self
):
def
post
(
self
):
id_demande_pub
=
json
.
loads
(
request
.
json
[
"id_demande_pub"
])
id_demande_pub
=
json
.
loads
(
request
.
json
[
"id_demande_pub"
])
contenu_dao
.
creer_nouveau_contenu
(
id_demande_pub
[
"$oid"
],
request
.
json
[
"auteur"
])
contenu_dao
.
creer_nouveau_contenu
(
id_demande_pub
[
"$oid"
],
request
.
json
[
"auteur"
])
...
@@ -211,6 +236,7 @@ class creer_nouveau_contenu(Resource):
...
@@ -211,6 +236,7 @@ class creer_nouveau_contenu(Resource):
class
maj_contenu
(
Resource
):
class
maj_contenu
(
Resource
):
@
contenus
.
response
(
200
,
"Contenu maj"
)
@
contenus
.
response
(
200
,
"Contenu maj"
)
## mettre à jour un contenu (en cours - le changement de version d'un contenu se fait via gerer_demande_pub)"
## mettre à jour un contenu (en cours - le changement de version d'un contenu se fait via gerer_demande_pub)"
@
jwt_required
()
def
patch
(
self
):
def
patch
(
self
):
id_contenu_en_cours
=
json
.
loads
(
request
.
json
[
"id_contenu_en_cours"
])
id_contenu_en_cours
=
json
.
loads
(
request
.
json
[
"id_contenu_en_cours"
])
if
request
.
json
[
"auteur"
]
==
""
:
if
request
.
json
[
"auteur"
]
==
""
:
...
@@ -229,6 +255,7 @@ class maj_contenu(Resource):
...
@@ -229,6 +255,7 @@ class maj_contenu(Resource):
class
gerer_demande_pub
(
Resource
):
class
gerer_demande_pub
(
Resource
):
@
contenus
.
response
(
200
,
"Réponse à la publication gérée"
)
@
contenus
.
response
(
200
,
"Réponse à la publication gérée"
)
## gerer la reponse à une demande de publication
## gerer la reponse à une demande de publication
@
jwt_required
()
def
patch
(
self
):
def
patch
(
self
):
id_publication
=
json
.
loads
(
request
.
json
[
"id_publication"
])
id_publication
=
json
.
loads
(
request
.
json
[
"id_publication"
])
print
(
"Je suis l'id de la publication : "
,
id_publication
[
"$oid"
])
print
(
"Je suis l'id de la publication : "
,
id_publication
[
"$oid"
])
...
@@ -241,6 +268,7 @@ class gerer_demande_pub(Resource):
...
@@ -241,6 +268,7 @@ class gerer_demande_pub(Resource):
class
get_tous_les_contenus
(
Resource
):
class
get_tous_les_contenus
(
Resource
):
@
contenus
.
response
(
200
,
"Tous les contenus récupérés"
)
@
contenus
.
response
(
200
,
"Tous les contenus récupérés"
)
## récupérer tous les contenus
## récupérer tous les contenus
@
jwt_required
()
def
get
(
self
):
def
get
(
self
):
return
json
.
loads
(
json
.
dumps
(
list
(
contenu_dao
.
get_tous_les_contenus
()),
default
=
json_util
.
default
)),
200
return
json
.
loads
(
json
.
dumps
(
list
(
contenu_dao
.
get_tous_les_contenus
()),
default
=
json_util
.
default
)),
200
...
@@ -251,6 +279,7 @@ class get_tous_les_contenus(Resource):
...
@@ -251,6 +279,7 @@ class get_tous_les_contenus(Resource):
class
get_tags_contenu
(
Resource
):
class
get_tags_contenu
(
Resource
):
@
contenus
.
response
(
200
,
"Tags récupérés"
)
@
contenus
.
response
(
200
,
"Tags récupérés"
)
## récupérer les tags d'un contenu
## récupérer les tags d'un contenu
@
jwt_required
()
def
get
(
self
,
id_contenu
):
def
get
(
self
,
id_contenu
):
id_tiers
=
json
.
loads
(
request
.
json
[
"id_tiers"
])
id_tiers
=
json
.
loads
(
request
.
json
[
"id_tiers"
])
return
json
.
loads
(
json
.
dumps
(
list
(
contenu_dao
.
get_tags_contenu
(
id_tiers
[
"$oid"
])),
return
json
.
loads
(
json
.
dumps
(
list
(
contenu_dao
.
get_tags_contenu
(
id_tiers
[
"$oid"
])),
...
@@ -262,6 +291,7 @@ class get_tags_contenu(Resource):
...
@@ -262,6 +291,7 @@ class get_tags_contenu(Resource):
class
is_contenu_anonyme
(
Resource
):
class
is_contenu_anonyme
(
Resource
):
@
contenus
.
response
(
200
,
"Résultat pour savoir si le contenu est anonyme ou non"
)
@
contenus
.
response
(
200
,
"Résultat pour savoir si le contenu est anonyme ou non"
)
## Résultat pour savoir si le contenu est anonyme ou non
## Résultat pour savoir si le contenu est anonyme ou non
@
jwt_required
()
def
get
(
self
,
id_contenu
):
def
get
(
self
,
id_contenu
):
return
str
(
contenu_dao
.
is_anonyme
(
id_contenu
)),
200
return
str
(
contenu_dao
.
is_anonyme
(
id_contenu
)),
200
...
@@ -271,6 +301,7 @@ class is_contenu_anonyme(Resource):
...
@@ -271,6 +301,7 @@ class is_contenu_anonyme(Resource):
class
is_maj_tiers_disponible
(
Resource
):
class
is_maj_tiers_disponible
(
Resource
):
@
contenus
.
response
(
200
,
"Résultat pour savoir si des mises à jours tiers sont disponibles"
)
@
contenus
.
response
(
200
,
"Résultat pour savoir si des mises à jours tiers sont disponibles"
)
## Résultat pour savoir si des mises à jours tiers sont disponibles
## Résultat pour savoir si des mises à jours tiers sont disponibles
@
jwt_required
()
def
get
(
self
,
auteur
):
def
get
(
self
,
auteur
):
return
str
(
contenu_dao
.
is_tiers_maj
(
auteur
)),
200
return
str
(
contenu_dao
.
is_tiers_maj
(
auteur
)),
200
...
@@ -280,6 +311,7 @@ class is_maj_tiers_disponible(Resource):
...
@@ -280,6 +311,7 @@ class is_maj_tiers_disponible(Resource):
class
liste_maj_tiers
(
Resource
):
class
liste_maj_tiers
(
Resource
):
@
contenus
.
response
(
200
,
"Liste des Maj Tiers récupérée"
)
@
contenus
.
response
(
200
,
"Liste des Maj Tiers récupérée"
)
## Liste des Maj Tiers récupérée
## Liste des Maj Tiers récupérée
@
jwt_required
()
def
get
(
self
,
auteur
):
def
get
(
self
,
auteur
):
return
json
.
loads
(
json
.
dumps
(
contenu_dao
.
liste_tiers_maj
(
auteur
),
default
=
json_util
.
default
)),
200
return
json
.
loads
(
json
.
dumps
(
contenu_dao
.
liste_tiers_maj
(
auteur
),
default
=
json_util
.
default
)),
200
...
@@ -293,6 +325,7 @@ class liste_maj_tiers(Resource):
...
@@ -293,6 +325,7 @@ class liste_maj_tiers(Resource):
class
gerer_maj_tiers
(
Resource
):
class
gerer_maj_tiers
(
Resource
):
@
contenus
.
response
(
200
,
"Maj du tiers gérée"
)
@
contenus
.
response
(
200
,
"Maj du tiers gérée"
)
## gérer la réponse à une maj tiers
## gérer la réponse à une maj tiers
@
jwt_required
()
def
patch
(
self
):
def
patch
(
self
):
id_tiers
=
json
.
loads
(
request
.
json
[
"id_tiers"
])
id_tiers
=
json
.
loads
(
request
.
json
[
"id_tiers"
])
...
@@ -313,6 +346,7 @@ class gerer_maj_tiers(Resource):
...
@@ -313,6 +346,7 @@ class gerer_maj_tiers(Resource):
class
get_texte_contenu
(
Resource
):
class
get_texte_contenu
(
Resource
):
@
contenus
.
response
(
200
,
"Texte du contenu changé pour la version en cours"
)
@
contenus
.
response
(
200
,
"Texte du contenu changé pour la version en cours"
)
## récupérer le texte de la version en cours du contenu
## récupérer le texte de la version en cours du contenu
@
jwt_required
()
def
get
(
self
,
id_json
):
def
get
(
self
,
id_json
):
id_contenu
=
json
.
loads
(
id_json
)
id_contenu
=
json
.
loads
(
id_json
)
return
Utils
()
.
recuperer_contenu_fichier
(
id_contenu
[
"$oid"
]),
200
return
Utils
()
.
recuperer_contenu_fichier
(
id_contenu
[
"$oid"
]),
200
...
@@ -326,6 +360,7 @@ class get_texte_contenu(Resource):
...
@@ -326,6 +360,7 @@ class get_texte_contenu(Resource):
class
get_texte_version_contenu
(
Resource
):
class
get_texte_version_contenu
(
Resource
):
@
contenus
.
response
(
200
,
"Texte du contenu récupéré pour la version renseignée"
)
@
contenus
.
response
(
200
,
"Texte du contenu récupéré pour la version renseignée"
)
## récupérer le texte d'une version donnée du contenu
## récupérer le texte d'une version donnée du contenu
@
jwt_required
()
def
get
(
self
,
id_json
,
version
):
def
get
(
self
,
id_json
,
version
):
id_contenu
=
json
.
loads
(
id_json
)
id_contenu
=
json
.
loads
(
id_json
)
return
Utils
()
.
recuperer_contenu_version_fichier
(
id_contenu
[
"$oid"
],
version
),
200
return
Utils
()
.
recuperer_contenu_version_fichier
(
id_contenu
[
"$oid"
],
version
),
200
...
@@ -337,6 +372,7 @@ class get_texte_version_contenu(Resource):
...
@@ -337,6 +372,7 @@ class get_texte_version_contenu(Resource):
class
changer_texte_contenu
(
Resource
):
class
changer_texte_contenu
(
Resource
):
@
contenus
.
response
(
200
,
"Texte du contenu changé"
)
@
contenus
.
response
(
200
,
"Texte du contenu changé"
)
## changer le texte d'un contenu (maj de la version en cours)
## changer le texte d'un contenu (maj de la version en cours)
@
jwt_required
()
def
patch
(
self
,
id_contenu
):
def
patch
(
self
,
id_contenu
):
if
len
(
id_contenu
)
%
12
==
0
:
if
len
(
id_contenu
)
%
12
==
0
:
id_contenu
=
ObjectId
(
id_contenu
)
id_contenu
=
ObjectId
(
id_contenu
)
...
@@ -359,6 +395,7 @@ en_cours = api.namespace('en_cours', description='Entrées liées à la gestion
...
@@ -359,6 +395,7 @@ en_cours = api.namespace('en_cours', description='Entrées liées à la gestion
class
GetTexteContenuEnCours
(
Resource
):
class
GetTexteContenuEnCours
(
Resource
):
@
en_cours
.
response
(
200
,
"Texte du contenu en cours récupéré"
)
@
en_cours
.
response
(
200
,
"Texte du contenu en cours récupéré"
)
## récupérer le texte d'un contenu en cours
## récupérer le texte d'un contenu en cours
@
jwt_required
()
def
get
(
self
,
id_en_cours
):
def
get
(
self
,
id_en_cours
):
if
len
(
id_en_cours
)
%
12
==
0
:
if
len
(
id_en_cours
)
%
12
==
0
:
...
@@ -375,6 +412,7 @@ class GetTexteContenuEnCours(Resource):
...
@@ -375,6 +412,7 @@ class GetTexteContenuEnCours(Resource):
class
GetContenuEnCours
(
Resource
):
class
GetContenuEnCours
(
Resource
):
@
en_cours
.
response
(
200
,
"Contenu en cours récupéré"
)
@
en_cours
.
response
(
200
,
"Contenu en cours récupéré"
)
## récupérer un contenu en cours via son id
## récupérer un contenu en cours via son id
@
jwt_required
()
def
get
(
self
,
id_en_cours
):
def
get
(
self
,
id_en_cours
):
return
json
.
loads
(
return
json
.
loads
(
json
.
dumps
(
list
(
en_cours_dao
.
get_contenu_en_cours_via_id
(
id_en_cours
)),
default
=
json_util
.
default
)),
200
json
.
dumps
(
list
(
en_cours_dao
.
get_contenu_en_cours_via_id
(
id_en_cours
)),
default
=
json_util
.
default
)),
200
...
@@ -385,6 +423,7 @@ class GetContenuEnCours(Resource):
...
@@ -385,6 +423,7 @@ class GetContenuEnCours(Resource):
class
GetAuteurOtigineContenuEnCours
(
Resource
):
class
GetAuteurOtigineContenuEnCours
(
Resource
):
@
en_cours
.
response
(
200
,
"Auteur du contenu en cours récupéré"
)
@
en_cours
.
response
(
200
,
"Auteur du contenu en cours récupéré"
)
## récupérer l'auteur d'origine d'un contenu en cours
## récupérer l'auteur d'origine d'un contenu en cours
@
jwt_required
()
def
get
(
self
,
id_en_cours
):
def
get
(
self
,
id_en_cours
):
return
json
.
loads
(
return
json
.
loads
(
json
.
dumps
(
list
(
en_cours_dao
.
get_auteur_origine_contenu_en_cours
(
id_en_cours
)),
json
.
dumps
(
list
(
en_cours_dao
.
get_auteur_origine_contenu_en_cours
(
id_en_cours
)),
...
@@ -397,6 +436,7 @@ class GetAuteurOtigineContenuEnCours(Resource):
...
@@ -397,6 +436,7 @@ class GetAuteurOtigineContenuEnCours(Resource):
class
IsContenuDemandePublication
(
Resource
):
class
IsContenuDemandePublication
(
Resource
):
@
en_cours
.
response
(
200
,
"Résultat pour savoir si le contenu en cours a fait l'objet d'une demande de publication"
)
@
en_cours
.
response
(
200
,
"Résultat pour savoir si le contenu en cours a fait l'objet d'une demande de publication"
)
## le contenu en cours à t'il fait l'objet d'une demande de publication par l'auteur renseigné ?
## le contenu en cours à t'il fait l'objet d'une demande de publication par l'auteur renseigné ?
@
jwt_required
()
def
get
(
self
,
id_en_cours
,
auteur
):
def
get
(
self
,
id_en_cours
,
auteur
):
return
str
(
en_cours_dao
.
is_en_cours_demande
(
id_en_cours
,
auteur
)),
200
return
str
(
en_cours_dao
.
is_en_cours_demande
(
id_en_cours
,
auteur
)),
200
...
@@ -406,6 +446,7 @@ class IsContenuDemandePublication(Resource):
...
@@ -406,6 +446,7 @@ class IsContenuDemandePublication(Resource):
class
SupprimerEnCoursParId
(
Resource
):
class
SupprimerEnCoursParId
(
Resource
):
@
en_cours
.
response
(
200
,
"Contenu en cours supprimé"
)
@
en_cours
.
response
(
200
,
"Contenu en cours supprimé"
)
## supprimer un contenu en cours
## supprimer un contenu en cours
@
jwt_required
()
def
delete
(
self
,
id_en_cours
):
def
delete
(
self
,
id_en_cours
):
id_contenu
=
json
.
loads
(
id_en_cours
)
id_contenu
=
json
.
loads
(
id_en_cours
)
en_cours_dao
.
supprimer_contenu_en_cours_via_id
(
id_contenu
[
"$oid"
])
en_cours_dao
.
supprimer_contenu_en_cours_via_id
(
id_contenu
[
"$oid"
])
...
@@ -421,6 +462,7 @@ class SupprimerEnCoursParId(Resource):
...
@@ -421,6 +462,7 @@ class SupprimerEnCoursParId(Resource):
class
CreerEnCours
(
Resource
):
class
CreerEnCours
(
Resource
):
@
en_cours
.
response
(
200
,
"Contenu en cours créé"
)
@
en_cours
.
response
(
200
,
"Contenu en cours créé"
)
## créer un contenu en cours
## créer un contenu en cours
@
jwt_required
()
def
post
(
self
):
def
post
(
self
):
id_contenu
=
json
.
loads
(
request
.
json
[
"id_contenu"
])
id_contenu
=
json
.
loads
(
request
.
json
[
"id_contenu"
])
en_cours_dao
.
creer_en_cours
(
request
.
json
[
'auteur'
],
id_contenu
[
"$oid"
],
request
.
json
[
'version'
],
en_cours_dao
.
creer_en_cours
(
request
.
json
[
'auteur'
],
id_contenu
[
"$oid"
],
request
.
json
[
'version'
],
...
@@ -436,6 +478,7 @@ class CreerEnCours(Resource):
...
@@ -436,6 +478,7 @@ class CreerEnCours(Resource):
class
CreerEnCoursRefuse
(
Resource
):
class
CreerEnCoursRefuse
(
Resource
):
@
en_cours
.
response
(
201
,
"Contenu en cours mis à jour au statut de refusé"
)
@
en_cours
.
response
(
201
,
"Contenu en cours mis à jour au statut de refusé"
)
## créer un contenu en cours refusé, consécutivement à une demande de publication refusée
## créer un contenu en cours refusé, consécutivement à une demande de publication refusée
@
jwt_required
()
def
patch
(
self
):
def
patch
(
self
):
id_contenu_en_cours
=
json
.
loads
(
request
.
json
[
"id_contenu_en_cours"
])
id_contenu_en_cours
=
json
.
loads
(
request
.
json
[
"id_contenu_en_cours"
])
...
@@ -458,6 +501,7 @@ demande_pub = api.namespace('demande_pub', description='Entrées liées à la ge
...
@@ -458,6 +501,7 @@ demande_pub = api.namespace('demande_pub', description='Entrées liées à la ge
class
demande_de_publication
(
Resource
):
class
demande_de_publication
(
Resource
):
@
demande_pub
.
response
(
201
,
"Demande de publication créée"
)
@
demande_pub
.
response
(
201
,
"Demande de publication créée"
)
## créer une demande de publication
## créer une demande de publication
@
jwt_required
()
def
post
(
self
):
def
post
(
self
):
id_contenu
=
json
.
loads
(
request
.
json
[
"id_contenu"
])
id_contenu
=
json
.
loads
(
request
.
json
[
"id_contenu"
])
id_contenu_en_cours
=
json
.
loads
(
request
.
json
[
"id_contenu_en_cours"
])
id_contenu_en_cours
=
json
.
loads
(
request
.
json
[
"id_contenu_en_cours"
])
...
@@ -474,6 +518,7 @@ class demande_de_publication(Resource):
...
@@ -474,6 +518,7 @@ class demande_de_publication(Resource):
class
get_demandes_pub
(
Resource
):
class
get_demandes_pub
(
Resource
):
@
demande_pub
.
response
(
200
,
"Demande de publication récupérées pour l'auteur renseigné"
)
@
demande_pub
.
response
(
200
,
"Demande de publication récupérées pour l'auteur renseigné"
)
## récupérer les demandes de publication pour un auteur, proposées ou recues
## récupérer les demandes de publication pour un auteur, proposées ou recues
@
jwt_required
()
def
get
(
self
,
auteur
,
emise
):
def
get
(
self
,
auteur
,
emise
):
return
json
.
loads
(
json
.
dumps
(
list
(
demande_pub_Dao
.
get_demandes_pub
(
auteur
,
distutils
.
util
.
strtobool
(
emise
))),
return
json
.
loads
(
json
.
dumps
(
list
(
demande_pub_Dao
.
get_demandes_pub
(
auteur
,
distutils
.
util
.
strtobool
(
emise
))),
default
=
json_util
.
default
))
default
=
json_util
.
default
))
...
@@ -484,6 +529,7 @@ class get_demandes_pub(Resource):
...
@@ -484,6 +529,7 @@ class get_demandes_pub(Resource):
class
supprimer_demande_pub
(
Resource
):
class
supprimer_demande_pub
(
Resource
):
@
demande_pub
.
response
(
200
,
"Demande de publication supprimée"
)
@
demande_pub
.
response
(
200
,
"Demande de publication supprimée"
)
## supprimer une demande de publication
## supprimer une demande de publication
@
jwt_required
()
def
delete
(
self
,
id_publication
):
def
delete
(
self
,
id_publication
):
id_publication
=
json
.
loads
(
id_publication
)
id_publication
=
json
.
loads
(
id_publication
)
...
@@ -504,6 +550,7 @@ evaluations = api.namespace('evaluations', description='Entrées liées à la ge
...
@@ -504,6 +550,7 @@ evaluations = api.namespace('evaluations', description='Entrées liées à la ge
class
creer_evaluation
(
Resource
):
class
creer_evaluation
(
Resource
):
@
evaluations
.
response
(
201
,
"Evaluation créée"
)
@
evaluations
.
response
(
201
,
"Evaluation créée"
)
## créer une évaluation
## créer une évaluation
@
jwt_required
()
def
post
(
self
):
def
post
(
self
):
evaluation_dao
.
creer_evaluation
(
request
.
args
.
get
(
'contenus'
),
request
.
args
.
get
(
'auteur'
))
evaluation_dao
.
creer_evaluation
(
request
.
args
.
get
(
'contenus'
),
request
.
args
.
get
(
'auteur'
))
return
"evaluation créée"
,
201
return
"evaluation créée"
,
201
...
@@ -514,6 +561,7 @@ class creer_evaluation(Resource):
...
@@ -514,6 +561,7 @@ class creer_evaluation(Resource):
class
get_evaluation
(
Resource
):
class
get_evaluation
(
Resource
):
@
evaluations
.
response
(
200
,
"Evaluation récupérée"
)
@
evaluations
.
response
(
200
,
"Evaluation récupérée"
)
## récupérer une évaluation d'un auteur via son id
## récupérer une évaluation d'un auteur via son id
@
jwt_required
()
def
get
(
self
,
auteur
,
id_evaluation
):
def
get
(
self
,
auteur
,
id_evaluation
):
return
json
.
loads
(
return
json
.
loads
(
json
.
dumps
(
list
(
evaluation_dao
.
get_evaluations
(
auteur
,
id_evaluation
)),
default
=
json_util
.
default
)),
200
json
.
dumps
(
list
(
evaluation_dao
.
get_evaluations
(
auteur
,
id_evaluation
)),
default
=
json_util
.
default
)),
200
...
@@ -524,6 +572,7 @@ class get_evaluation(Resource):
...
@@ -524,6 +572,7 @@ class get_evaluation(Resource):
class
get_all_evaluations
(
Resource
):
class
get_all_evaluations
(
Resource
):
@
evaluations
.
response
(
200
,
"Toutes les évaluations récupérées"
)
@
evaluations
.
response
(
200
,
"Toutes les évaluations récupérées"
)
## récupérer toutes les évaluations d'un auteur
## récupérer toutes les évaluations d'un auteur
@
jwt_required
()
def
get
(
self
,
auteur
):
def
get
(
self
,
auteur
):
return
json
.
loads
(
json
.
dumps
(
list
(
evaluation_dao
.
get_evaluations
(
auteur
,
0
)),
default
=
json_util
.
default
)),
200
return
json
.
loads
(
json
.
dumps
(
list
(
evaluation_dao
.
get_evaluations
(
auteur
,
0
)),
default
=
json_util
.
default
)),
200
...
@@ -533,6 +582,7 @@ class get_all_evaluations(Resource):
...
@@ -533,6 +582,7 @@ class get_all_evaluations(Resource):
class
supprimer_evaluation
(
Resource
):
class
supprimer_evaluation
(
Resource
):
@
evaluations
.
response
(
200
,
"Evaluation supprimée"
)
@
evaluations
.
response
(
200
,
"Evaluation supprimée"
)
## supprimer une évaluation
## supprimer une évaluation
@
jwt_required
()
def
delete
(
self
,
id_evaluation
):
def
delete
(
self
,
id_evaluation
):
evaluation_dao
.
supprimer_evaluation
(
id_evaluation
)
evaluation_dao
.
supprimer_evaluation
(
id_evaluation
)
return
"Evaluation supprimée"
,
200
return
"Evaluation supprimée"
,
200
...
...
config/utils.py
View file @
709a9c4f
from
flask
import
Flask
from
flask
import
Flask
from
flask_pymongo
import
PyMongo
from
config.gitUtils
import
GitUtils
from
config.gitUtils
import
GitUtils
app
=
Flask
(
__name__
)
app
.
config
[
"MONGO_URI"
]
=
"mongodb://localhost:27017/squelette"
mongo
=
PyMongo
(
app
)
## Fonctions 'générales', principalement de manipulation des fichiers
## Fonctions 'générales', principalement de manipulation des fichiers
class
Utils
:
class
Utils
:
## Fonction permettant de changer la version
## Fonction permettant de changer la version
...
...
documentation/html/classjinja2_1_1compiler_1_1_code_generator.js
View file @
709a9c4f
...
@@ -100,5 +100,5 @@ var classjinja2_1_1compiler_1_1_code_generator =
...
@@ -100,5 +100,5 @@ var classjinja2_1_1compiler_1_1_code_generator =
[
"optimized"
,
"classjinja2_1_1compiler_1_1_code_generator.html#a5ab6474ed31a2311422a69823d8dd8c4"
,
null
],
[
"optimized"
,
"classjinja2_1_1compiler_1_1_code_generator.html#a5ab6474ed31a2311422a69823d8dd8c4"
,
null
],
[
"optimizer"
,
"classjinja2_1_1compiler_1_1_code_generator.html#a6e7f6ae6228957cb12294e2ffbc0fbc8"
,
null
],
[
"optimizer"
,
"classjinja2_1_1compiler_1_1_code_generator.html#a6e7f6ae6228957cb12294e2ffbc0fbc8"
,
null
],
[
"stream"
,
"classjinja2_1_1compiler_1_1_code_generator.html#ae489866f8220882799d2786ca0690e5b"
,
null
],
[
"stream"
,
"classjinja2_1_1compiler_1_1_code_generator.html#ae489866f8220882799d2786ca0690e5b"
,
null
],
[
"test
s
"
,
"classjinja2_1_1compiler_1_1_code_generator.html#aa58c6e40436bbb090294218b7d758a15"
,
null
]
[
"test"
,
"classjinja2_1_1compiler_1_1_code_generator.html#aa58c6e40436bbb090294218b7d758a15"
,
null
]
];
];
\ No newline at end of file
modele/contenu_dao.py
View file @
709a9c4f
...
@@ -16,7 +16,7 @@ from modele.encours_dao import EncoursDao
...
@@ -16,7 +16,7 @@ from modele.encours_dao import EncoursDao
class
ContenuDao
:
class
ContenuDao
:
client
=
MongoClient
(
'localhost'
,
27017
)
client
=
MongoClient
(
'localhost'
,
27017
)
chemin
=
"/home/
passerat/Stage/flaskProject
/contenus/"
chemin
=
"/home/
OpenQuizz/Flask
/contenus/"
gitUtils
=
GitUtils
()
gitUtils
=
GitUtils
()
## extraction d'une base de données. Si elle n'existe pas, elle esst créée
## extraction d'une base de données. Si elle n'existe pas, elle esst créée
...
...
test_flask.py
0 → 100644
View file @
709a9c4f
import
pytest
import
os
import
pytest
from
app
import
app
from
flask
import
url_for
@
pytest
.
fixture
def
client
():
app
.
config
[
'TESTING'
]
=
True
app
.
config
[
'SERVER_NAME'
]
=
'TEST'
client
=
app
.
test_client
()
with
app
.
app_context
():
pass
app
.
app_context
()
.
push
()
yield
client
def
test_multiplication
():
assert
4
==
2
*
2
def
test_index
(
client
):
rv
=
client
.
get
(
'/'
)
assert
rv
.
status_code
==
404
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment