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
ac62cc0e
Commit
ac62cc0e
authored
Jun 25, 2021
by
Jérémie Passerat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Complétion de la documentation pour Doxygen
parent
98980398
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
69 additions
and
45 deletions
+69
-45
app.py
app.py
+10
-10
gitUtils.py
config/gitUtils.py
+4
-6
utils.py
config/utils.py
+20
-2
contenu_dao.py
modele/contenu_dao.py
+19
-9
demande_pubDao.py
modele/demande_pubDao.py
+6
-0
encours_dao.py
modele/encours_dao.py
+8
-17
evaluation_dao.py
modele/evaluation_dao.py
+2
-1
No files found.
app.py
View file @
ac62cc0e
...
@@ -33,7 +33,7 @@ base_donnees = client.squelette
...
@@ -33,7 +33,7 @@ base_donnees = client.squelette
## *********************************************************************************************************************
## *********************************************************************************************************************
##
Routage utilisateur : 1 post, 1 get, 2 patch
##
Entrées liées à la gestion utilisateur
@
app
.
route
(
'/newUser'
,
methods
=
[
'POST'
])
@
app
.
route
(
'/newUser'
,
methods
=
[
'POST'
])
@
cross_origin
()
@
cross_origin
()
def
creer_utilisateur
():
def
creer_utilisateur
():
...
@@ -53,7 +53,6 @@ def changer_mdp():
...
@@ -53,7 +53,6 @@ def changer_mdp():
pass
pass
@
app
.
route
(
'/auteursExistants'
,
methods
=
[
'GET'
])
@
app
.
route
(
'/auteursExistants'
,
methods
=
[
'GET'
])
@
cross_origin
()
@
cross_origin
()
def
recuperer_tous_les_utilisateurs
():
def
recuperer_tous_les_utilisateurs
():
...
@@ -61,14 +60,16 @@ def recuperer_tous_les_utilisateurs():
...
@@ -61,14 +60,16 @@ def recuperer_tous_les_utilisateurs():
## *********************************************************************************************************************
## *********************************************************************************************************************
##
Routage contenus : beaucoup de fonction
s
##
Entrées liées à la gestion des contenu
s
@
app
.
route
(
"/addContenu"
,
methods
=
[
'POST'
])
@
app
.
route
(
"/addContenu"
,
methods
=
[
'POST'
])
@
cross_origin
()
@
cross_origin
()
def
ajouter_contenu
():
def
ajouter_contenu
():
auteur
=
request
.
json
[
"auteur"
]
auteur
=
request
.
json
[
"auteur"
]
contenu_a_ecrire
=
request
.
json
[
"contenu_a_ecrire"
]
contenu_a_ecrire
=
request
.
json
[
"contenu_a_ecrire"
]
contenu_dao
.
ajouter_contenu
(
auteur
,
contenu_a_ecrire
)
contenu_dao
.
ajouter_contenu
(
auteur
,
contenu_a_ecrire
)
return
json
.
dumps
((
contenu_dao
.
get_contenu_par_id
(
contenu_dao
.
id_dernier_contenu_ajoute
())),
default
=
json_util
.
default
)
return
json
.
dumps
((
contenu_dao
.
get_contenu_par_id
(
contenu_dao
.
id_dernier_contenu_ajoute
())),
default
=
json_util
.
default
)
@
app
.
route
(
'/ajouterTiers'
,
methods
=
[
'PATCH'
])
@
app
.
route
(
'/ajouterTiers'
,
methods
=
[
'PATCH'
])
@
cross_origin
()
@
cross_origin
()
...
@@ -78,7 +79,6 @@ def ajouter_tiers():
...
@@ -78,7 +79,6 @@ def ajouter_tiers():
return
json
.
dumps
((
contenu_dao
.
get_contenu_par_id
(
id_tiers
[
"$oid"
])),
default
=
json_util
.
default
)
return
json
.
dumps
((
contenu_dao
.
get_contenu_par_id
(
id_tiers
[
"$oid"
])),
default
=
json_util
.
default
)
@
app
.
route
(
"/getContenu/<id>"
,
methods
=
[
'GET'
])
@
app
.
route
(
"/getContenu/<id>"
,
methods
=
[
'GET'
])
@
cross_origin
()
@
cross_origin
()
def
get_contenu_par_id
(
id
):
def
get_contenu_par_id
(
id
):
...
@@ -125,8 +125,8 @@ def supprimer_tiers():
...
@@ -125,8 +125,8 @@ def supprimer_tiers():
def
creer_nouveau_contenu
():
def
creer_nouveau_contenu
():
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"
])
return
json
.
dumps
((
contenu_dao
.
get_contenu_par_id
(
contenu_dao
.
id_dernier_contenu_ajoute
())),
default
=
json_util
.
default
)
return
json
.
dumps
((
contenu_dao
.
get_contenu_par_id
(
contenu_dao
.
id_dernier_contenu_ajoute
())),
default
=
json_util
.
default
)
@
app
.
route
(
"/majContenu"
,
methods
=
[
'PATCH'
])
@
app
.
route
(
"/majContenu"
,
methods
=
[
'PATCH'
])
...
@@ -225,7 +225,7 @@ def changer_texte_contenu(id_contenu):
...
@@ -225,7 +225,7 @@ def changer_texte_contenu(id_contenu):
## *********************************************************************************************************************
## *********************************************************************************************************************
##
Gestion des Contenus en C
ours
##
Entrées liées à la gestion des contenus en c
ours
@
app
.
route
(
"/getTexteContenuEnCours/<id_json>"
,
methods
=
[
'GET'
])
@
app
.
route
(
"/getTexteContenuEnCours/<id_json>"
,
methods
=
[
'GET'
])
@
cross_origin
()
@
cross_origin
()
...
@@ -287,7 +287,7 @@ def creer_en_cours_refuse():
...
@@ -287,7 +287,7 @@ def creer_en_cours_refuse():
## *********************************************************************************************************************
## *********************************************************************************************************************
##
Gestion des Publications
##
Entrées liées à la gestion des demandes de publication
@
app
.
route
(
"/demandePublication"
,
methods
=
[
'POST'
])
@
app
.
route
(
"/demandePublication"
,
methods
=
[
'POST'
])
@
cross_origin
()
@
cross_origin
()
...
@@ -318,7 +318,7 @@ def supprimer_demande_pub(id_publication):
...
@@ -318,7 +318,7 @@ def supprimer_demande_pub(id_publication):
## *********************************************************************************************************************
## *********************************************************************************************************************
##
Gestion des E
valuations
##
Entrées liées à la gestion des é
valuations
@
app
.
route
(
"/newEval"
,
methods
=
[
'POST'
])
@
app
.
route
(
"/newEval"
,
methods
=
[
'POST'
])
@
cross_origin
()
@
cross_origin
()
...
...
config/gitUtils.py
View file @
ac62cc0e
from
git
import
Repo
from
git
import
Repo
## Fonctions de manipulation de versionning (avec git)
class
GitUtils
:
class
GitUtils
:
## commit d'un fichier (branche principale)
## commit d'un fichier (branche principale)
...
@@ -10,7 +10,6 @@ class GitUtils:
...
@@ -10,7 +10,6 @@ class GitUtils:
def
commit
(
self
,
cheminFichier
,
nomFichier
,
texteCommit
):
def
commit
(
self
,
cheminFichier
,
nomFichier
,
texteCommit
):
repo
=
Repo
.
init
(
cheminFichier
)
repo
=
Repo
.
init
(
cheminFichier
)
# # Il faudra faire une extraction du nom du fichier a partir du chemin
repo
.
index
.
add
([
nomFichier
])
repo
.
index
.
add
([
nomFichier
])
repo
.
index
.
commit
(
texteCommit
)
repo
.
index
.
commit
(
texteCommit
)
...
@@ -20,9 +19,9 @@ class GitUtils:
...
@@ -20,9 +19,9 @@ class GitUtils:
# @param cheminFichier le chemin du fichier
# @param cheminFichier le chemin du fichier
# @param texteCommit le texte associé au commit
# @param texteCommit le texte associé au commit
# @return le hash du commit
# @return le hash du commit
def
embranchement
(
self
,
cheminFichier
,
nomBranche
):
#
def embranchement(self, cheminFichier, nomBranche):
repo
=
Repo
.
init
(
cheminFichier
)
#
repo = Repo.init(cheminFichier)
repo
.
create_head
(
nomBranche
,
'HEAD'
)
#
repo.create_head(nomBranche, 'HEAD')
## changer la version actuelle (avec une base commit):
## changer la version actuelle (avec une base commit):
# @param chemin chemin du repertoire git
# @param chemin chemin du repertoire git
...
@@ -31,7 +30,6 @@ class GitUtils:
...
@@ -31,7 +30,6 @@ class GitUtils:
repo
=
Repo
.
init
(
chemin
)
repo
=
Repo
.
init
(
chemin
)
repo
.
head
.
reference
=
repo
.
commit
(
commit
)
repo
.
head
.
reference
=
repo
.
commit
(
commit
)
repo
.
head
.
reset
(
index
=
True
,
working_tree
=
True
)
repo
.
head
.
reset
(
index
=
True
,
working_tree
=
True
)
# repo.git.checkout("c785462dfd454045798baedb11d1674837733962")
## changer la version actuelle (avec une base branche):
## changer la version actuelle (avec une base branche):
# @param chemin chemin du repertoire git
# @param chemin chemin du repertoire git
...
...
config/utils.py
View file @
ac62cc0e
...
@@ -8,8 +8,13 @@ app.config["MONGO_URI"] = "mongodb://localhost:27017/squelette"
...
@@ -8,8 +8,13 @@ app.config["MONGO_URI"] = "mongodb://localhost:27017/squelette"
mongo
=
PyMongo
(
app
)
mongo
=
PyMongo
(
app
)
## 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
# @param idContenu l'id du contenu associé
# @param version la version désirée du contenu
# @param nomBranche le nom de la branche désirée du contenu
def
changer_version
(
self
,
idContenu
,
version
,
nomBranche
=
""
):
def
changer_version
(
self
,
idContenu
,
version
,
nomBranche
=
""
):
from
modele.contenu_dao
import
ContenuDao
from
modele.contenu_dao
import
ContenuDao
# on recupere le chemin du fichier associé au contenu (dans les 2 cas)
# on recupere le chemin du fichier associé au contenu (dans les 2 cas)
...
@@ -23,6 +28,10 @@ class Utils:
...
@@ -23,6 +28,10 @@ class Utils:
else
:
else
:
GitUtils
()
.
changerVersionBranche
(
repertoire
,
nomBranche
)
GitUtils
()
.
changerVersionBranche
(
repertoire
,
nomBranche
)
## Fonction permettant de lire et de récupérer l'intérieur d'un fichier
# @param id_contenu l'id du contenu désiré
# @param en_cours permet de déterminer si le contenu que l'on désire est lié à un fichier en cours ou pas
# @return l'intérieur du texte associé au contenu
def
recuperer_contenu_fichier
(
self
,
id_contenu
,
en_cours
=
False
):
def
recuperer_contenu_fichier
(
self
,
id_contenu
,
en_cours
=
False
):
from
modele.contenu_dao
import
ContenuDao
from
modele.contenu_dao
import
ContenuDao
from
modele.encours_dao
import
EncoursDao
from
modele.encours_dao
import
EncoursDao
...
@@ -37,6 +46,10 @@ class Utils:
...
@@ -37,6 +46,10 @@ class Utils:
return
texte
.
strip
()
return
texte
.
strip
()
## Fonction permettant de lire et de récupérer l'intérieur d'un fichier (dans une version spécifique
# @param id_contenu l'id du contenu désiré
# @param version le numéro de version désiré
# @return l'intérieur du texte associé au contenu
def
recuperer_contenu_version_fichier
(
self
,
id_contenu
,
version
):
def
recuperer_contenu_version_fichier
(
self
,
id_contenu
,
version
):
from
modele.contenu_dao
import
ContenuDao
from
modele.contenu_dao
import
ContenuDao
...
@@ -52,8 +65,13 @@ class Utils:
...
@@ -52,8 +65,13 @@ class Utils:
return
texte
.
strip
()
return
texte
.
strip
()
## Fonction qui permet de mettre à jour l'intérieur du texte d'un contenu
## Fonction qui permet de mettre à jour l'intérieur du texte d'un contenu
def
changer_texte_fichier
(
self
,
id_contenu
,
nouveau_texte
,
majContenu
=
False
):
# @param id_contenu l'id du contenu qui verra son texte changé
if
majContenu
:
# @param nouveau_texte la maj du texte
# @param majContenu si true, maj d'un contenu perso. Si false, maj d'un contenu en cours
def
changer_texte_fichier
(
self
,
id_contenu
,
nouveau_texte
,
maj_contenu
=
False
):
# On ouvre le contenu, soit pour mettre à jour une version de contenu perso,
# soit pour changer le coeur d'un contenu en cours
if
maj_contenu
:
from
modele.contenu_dao
import
ContenuDao
from
modele.contenu_dao
import
ContenuDao
chemin_fichier
=
ContenuDao
()
.
get_chemin_du_contenu
(
id_contenu
)
chemin_fichier
=
ContenuDao
()
.
get_chemin_du_contenu
(
id_contenu
)
else
:
else
:
...
...
modele/contenu_dao.py
View file @
ac62cc0e
...
@@ -108,6 +108,7 @@ class ContenuDao:
...
@@ -108,6 +108,7 @@ class ContenuDao:
## FOnction permettant de récupérer les contenus tiers d'un auteur
## FOnction permettant de récupérer les contenus tiers d'un auteur
# @param auteur l'auteur en question
# @param auteur l'auteur en question
# return les contenus tiers de l'auteur (_id et version)
def
get_contenus_tiers
(
self
,
auteur
):
def
get_contenus_tiers
(
self
,
auteur
):
return
self
.
base_donnees
.
utilisateur
.
find_one
({
"nom"
:
auteur
})[
"tiers"
]
return
self
.
base_donnees
.
utilisateur
.
find_one
({
"nom"
:
auteur
})[
"tiers"
]
...
@@ -132,7 +133,8 @@ class ContenuDao:
...
@@ -132,7 +133,8 @@ class ContenuDao:
"tiers"
:
[{
"contenu"
:
ObjectId
(
id_contenu
)},
{
"version"
:
version
}]}})
"tiers"
:
[{
"contenu"
:
ObjectId
(
id_contenu
)},
{
"version"
:
version
}]}})
## FOnction permettant de récupérer les contenus persos d'un auteur
## FOnction permettant de récupérer les contenus persos d'un auteur
# auteur l'auteur en question
# @param auteur l'auteur en question
# return tous les contenus personnels de l'auteur
def
get_contenus_persos
(
self
,
auteur
):
def
get_contenus_persos
(
self
,
auteur
):
return
self
.
base_donnees
.
contenu
.
find
({
"auteur"
:
auteur
})
return
self
.
base_donnees
.
contenu
.
find
({
"auteur"
:
auteur
})
...
@@ -141,8 +143,8 @@ class ContenuDao:
...
@@ -141,8 +143,8 @@ class ContenuDao:
def
dissocier_contenu
(
self
,
id_contenu
):
def
dissocier_contenu
(
self
,
id_contenu
):
self
.
base_donnees
.
contenu
.
update
({
"_id"
:
ObjectId
(
id_contenu
)},
{
"$set"
:
{
"auteur"
:
"Aucun"
}})
self
.
base_donnees
.
contenu
.
update
({
"_id"
:
ObjectId
(
id_contenu
)},
{
"$set"
:
{
"auteur"
:
"Aucun"
}})
##
l'auteur 'renie' son contenu, mais vu que personne d'autre ne l'a il est définitivement supprimé
##
permet de, soit renier, soit supprimer définitivement un auteur (et le fichier de contenu associé)
# @param
auteur
l'id du contenu à supprimer
# @param
id_contenu
l'id du contenu à supprimer
def
supprimer_contenu
(
self
,
id_contenu
):
def
supprimer_contenu
(
self
,
id_contenu
):
import
shutil
import
shutil
...
@@ -155,8 +157,10 @@ class ContenuDao:
...
@@ -155,8 +157,10 @@ class ContenuDao:
shutil
.
rmtree
(
repertoire
)
shutil
.
rmtree
(
repertoire
)
self
.
base_donnees
.
contenu
.
delete_one
({
"_id"
:
ObjectId
(
id_contenu
)})
self
.
base_donnees
.
contenu
.
delete_one
({
"_id"
:
ObjectId
(
id_contenu
)})
## l'auteur 'renie' un tiers (suppression définitive)
## suppression défintive d'un tiers (de la référence)
# @param auteur l'id du contenu à supprimer
# @param id_tiers l'id du tiers à supprimer
# @param auteur l'auteur concerné
# @param version la version du tiers à supprimer
def
supprimer_tiers
(
self
,
id_tiers
,
auteur
,
version
):
def
supprimer_tiers
(
self
,
id_tiers
,
auteur
,
version
):
self
.
base_donnees
.
utilisateur
.
update
({
"nom"
:
auteur
},
self
.
base_donnees
.
utilisateur
.
update
({
"nom"
:
auteur
},
...
@@ -165,8 +169,9 @@ class ContenuDao:
...
@@ -165,8 +169,9 @@ class ContenuDao:
if
self
.
is_anonyme
(
id_tiers
)
and
self
.
existe_en_tiers
(
id_tiers
)
==
0
:
if
self
.
is_anonyme
(
id_tiers
)
and
self
.
existe_en_tiers
(
id_tiers
)
==
0
:
self
.
supprimer_contenu
(
id_tiers
)
self
.
supprimer_contenu
(
id_tiers
)
## fonction qui permet de savoir
si au moins un auteur possède un certain contenu dans ses tie
rs
## fonction qui permet de savoir
le nombre de fois qu'un contenu est présent en 'contenu tiers' chez d'autres auteu
rs
# @param auteur l'id du contenu à 'tester'
# @param auteur l'id du contenu à 'tester'
# @return le nombre de contenus tiers associés
def
existe_en_tiers
(
self
,
id_contenu
):
def
existe_en_tiers
(
self
,
id_contenu
):
return
self
.
base_donnees
.
utilisateur
.
find
(
return
self
.
base_donnees
.
utilisateur
.
find
(
{
"tiers"
:
{
"$elemMatch"
:
{
"$elemMatch"
:
{
"contenu"
:
ObjectId
(
id_contenu
)}}}})
.
count
()
{
"tiers"
:
{
"$elemMatch"
:
{
"$elemMatch"
:
{
"contenu"
:
ObjectId
(
id_contenu
)}}}})
.
count
()
...
@@ -191,7 +196,7 @@ class ContenuDao:
...
@@ -191,7 +196,7 @@ class ContenuDao:
cheminFichier
=
self
.
chemin
+
dossierFichier
cheminFichier
=
self
.
chemin
+
dossierFichier
nomFichier
=
chemin
[
chemin
.
rfind
(
"/"
)
+
1
:]
nomFichier
=
chemin
[
chemin
.
rfind
(
"/"
)
+
1
:]
#
Path(cheminFichier).mkdir(parents=True, exist_ok=True)
Path
(
cheminFichier
)
.
mkdir
(
parents
=
True
,
exist_ok
=
True
)
self
.
base_donnees
.
contenu
.
insert_one
(
self
.
base_donnees
.
contenu
.
insert_one
(
{
"auteur"
:
auteur_en_cours
,
"note"
:
randrange
(
0
,
10
,
1
),
{
"auteur"
:
auteur_en_cours
,
"note"
:
randrange
(
0
,
10
,
1
),
...
@@ -216,6 +221,8 @@ class ContenuDao:
...
@@ -216,6 +221,8 @@ class ContenuDao:
return
self
.
chemin
+
self
.
base_donnees
.
contenu
.
find_one
({
"_id"
:
id_contenu
})[
"fichier"
]
return
self
.
chemin
+
self
.
base_donnees
.
contenu
.
find_one
({
"_id"
:
id_contenu
})[
"fichier"
]
## récupère la version en cours du contenu
## récupère la version en cours du contenu
# @param id_contenu l'id du contenu
# @return la version courante du contenu
def
get_version_courante
(
self
,
id_contenu
):
def
get_version_courante
(
self
,
id_contenu
):
if
type
(
'id_contenu'
)
==
str
:
if
type
(
'id_contenu'
)
==
str
:
id_contenu
=
ObjectId
(
id_contenu
)
id_contenu
=
ObjectId
(
id_contenu
)
...
@@ -324,13 +331,14 @@ class ContenuDao:
...
@@ -324,13 +331,14 @@ class ContenuDao:
return
self
.
base_donnees
.
contenu
.
find_one
({
"_id"
:
ObjectId
(
idContenu
)})[
"auteur"
]
==
"Aucun"
return
self
.
base_donnees
.
contenu
.
find_one
({
"_id"
:
ObjectId
(
idContenu
)})[
"auteur"
]
==
"Aucun"
## Récupérer tous les contenus
## Récupérer tous les contenus
# @return tous les contenus
def
get_tous_les_contenus
(
self
):
def
get_tous_les_contenus
(
self
):
return
self
.
base_donnees
.
contenu
.
find
()
return
self
.
base_donnees
.
contenu
.
find
()
# FOnction permettant de déterminer si un certain contenu fait partie des tiers d'un auteur
# FOnction permettant de déterminer si un certain contenu fait partie des tiers d'un auteur
# @param auteur l'auteur concerné
# @param auteur l'auteur concerné
# @param idContenu le contenu à 'tester'
# @param idContenu le contenu à 'tester'
# @return
booléen true.false
si le contenu est chez l'auteur ou pas
# @return
un booléen correspondant à savoir
si le contenu est chez l'auteur ou pas
def
is_tiers_auteur
(
self
,
auteur
,
idContenu
):
def
is_tiers_auteur
(
self
,
auteur
,
idContenu
):
return
self
.
get_version_tiers_avec_id
(
ObjectId
(
idContenu
),
auteur
)
!=
0
return
self
.
get_version_tiers_avec_id
(
ObjectId
(
idContenu
),
auteur
)
!=
0
...
@@ -393,6 +401,7 @@ class ContenuDao:
...
@@ -393,6 +401,7 @@ class ContenuDao:
## Fonction permettant de récupérer le 'hash' d'un commit
## Fonction permettant de récupérer le 'hash' d'un commit
# @param id_contenu l'id du contenu concerné
# @param id_contenu l'id du contenu concerné
# @param version la version pour laquelle on veux récupérer le commit
# @param version la version pour laquelle on veux récupérer le commit
# @return le commit associé à la version
def
get_commit_pour_une_version
(
self
,
id_contenu
,
version
):
def
get_commit_pour_une_version
(
self
,
id_contenu
,
version
):
if
version
==
str
(
self
.
get_version_courante
(
id_contenu
))
or
version
==
'0'
:
if
version
==
str
(
self
.
get_version_courante
(
id_contenu
))
or
version
==
'0'
:
...
@@ -406,5 +415,6 @@ class ContenuDao:
...
@@ -406,5 +415,6 @@ class ContenuDao:
## Fonction permettant de récupérer les tags associés à un contenu
## Fonction permettant de récupérer les tags associés à un contenu
# @param id_contenu l'id du contenu concerné
# @param id_contenu l'id du contenu concerné
# @return les tags associés au contenu
def
get_tags_contenu
(
self
,
id_contenu
):
def
get_tags_contenu
(
self
,
id_contenu
):
return
self
.
base_donnees
.
contenu
.
find
({
"_id"
:
ObjectId
(
id_contenu
)})[
"tags_banque_fixes"
]
return
self
.
base_donnees
.
contenu
.
find
({
"_id"
:
ObjectId
(
id_contenu
)})[
"tags_banque_fixes"
]
modele/demande_pubDao.py
View file @
ac62cc0e
...
@@ -30,11 +30,14 @@ class DemandePubDao:
...
@@ -30,11 +30,14 @@ class DemandePubDao:
## Récupérer une demande de publication via son id
## Récupérer une demande de publication via son id
# @param id_demande_pub un id de demande de publication
# @return la demande de publication désirée
def
get_demande_pub_via_id
(
self
,
id_demande_pub
):
def
get_demande_pub_via_id
(
self
,
id_demande_pub
):
return
self
.
base_donnees
.
demandesPub
.
find_one
({
"_id"
:
ObjectId
(
id_demande_pub
)})
return
self
.
base_donnees
.
demandesPub
.
find_one
({
"_id"
:
ObjectId
(
id_demande_pub
)})
## Récupérer la dernière insertion dasn les demaindes de publication
## Récupérer la dernière insertion dasn les demaindes de publication
# @return le dernier id inséré dans les demandes de publication
def
id_derniere_demande_publication_ajoutee
(
self
):
def
id_derniere_demande_publication_ajoutee
(
self
):
# créer un fichier (au bon endroit)
# créer un fichier (au bon endroit)
# récupérer l'id mongo (pour nommer le répertoire)
# récupérer l'id mongo (pour nommer le répertoire)
...
@@ -75,11 +78,13 @@ class DemandePubDao:
...
@@ -75,11 +78,13 @@ class DemandePubDao:
## Récupérer l'auteur d'une demande de publication
## Récupérer l'auteur d'une demande de publication
# @param idPub l'id de la demande de publication
# @param idPub l'id de la demande de publication
# @return l'auteur de la publication
def
get_auteur_demande_publication
(
self
,
idDdePublication
):
def
get_auteur_demande_publication
(
self
,
idDdePublication
):
return
self
.
base_donnees
.
demandesPub
.
find_one
({
"_id"
:
ObjectId
(
idDdePublication
)})[
"auteurDemande"
]
return
self
.
base_donnees
.
demandesPub
.
find_one
({
"_id"
:
ObjectId
(
idDdePublication
)})[
"auteurDemande"
]
## Récupérer lid du contenu (perso ou tiers) associé à une demande de publication
## Récupérer lid du contenu (perso ou tiers) associé à une demande de publication
# @param idDdePublication l'id de la demande de publication
# @param idDdePublication l'id de la demande de publication
# @return l'id du contenu associé à la demande de publication
def
get_id_contenu_associe_a_une_publication
(
self
,
id_dde_publication
):
def
get_id_contenu_associe_a_une_publication
(
self
,
id_dde_publication
):
if
type
(
id_dde_publication
)
==
str
:
if
type
(
id_dde_publication
)
==
str
:
id_dde_publication
=
ObjectId
(
id_dde_publication
)
id_dde_publication
=
ObjectId
(
id_dde_publication
)
...
@@ -89,6 +94,7 @@ class DemandePubDao:
...
@@ -89,6 +94,7 @@ class DemandePubDao:
## Récupérer lid du contenu en cours associé à une demande de publication
## Récupérer lid du contenu en cours associé à une demande de publication
# @param idDdePublication l'id de la demande de publication
# @param idDdePublication l'id de la demande de publication
# @return l'id du contenu en cours associé à la demande de publication
def
get_id_contenu_en_cours_associe_a_une_publication
(
self
,
id_dde_publication
):
def
get_id_contenu_en_cours_associe_a_une_publication
(
self
,
id_dde_publication
):
if
type
(
id_dde_publication
)
==
str
:
if
type
(
id_dde_publication
)
==
str
:
id_dde_publication
=
ObjectId
(
id_dde_publication
)
id_dde_publication
=
ObjectId
(
id_dde_publication
)
...
...
modele/encours_dao.py
View file @
ac62cc0e
...
@@ -68,8 +68,10 @@ class EncoursDao:
...
@@ -68,8 +68,10 @@ class EncoursDao:
self
.
base_donnees
.
encours
.
delete_one
({
"_id"
:
ObjectId
(
id_contenu_en_cours
)})
self
.
base_donnees
.
encours
.
delete_one
({
"_id"
:
ObjectId
(
id_contenu_en_cours
)})
## création d'un contenu en cours
## création d'un contenu en cours
# @param auteur -> l'auteur du contenu en cours.
# @param id_contenu -> l'id du contenu d'origine
# @param version la version du contenu d'origine
# @param version la version du contenu d'origine
# @param
nomBranche -> plus utile.
# @param
provenance pour déterminer si le contenu d'origine est un tiers ou un perso
def
creer_en_cours
(
self
,
auteur
,
id_contenu
,
version
,
provenance
):
def
creer_en_cours
(
self
,
auteur
,
id_contenu
,
version
,
provenance
):
from
modele.contenu_dao
import
ContenuDao
from
modele.contenu_dao
import
ContenuDao
...
@@ -87,17 +89,6 @@ class EncoursDao:
...
@@ -87,17 +89,6 @@ class EncoursDao:
id
=
self
.
recuperer_dernier_id
()
id
=
self
.
recuperer_dernier_id
()
# Deux choix -> création d'une branche dans le répertoire idContenu / idContenu
# chemin = ContenuDao().get_chemin_du_contenu(id_contenu)
#
# self.base_donnees.encours.update_one({"_id": id},
# {"$set": {"branche": id}})
#
# GitUtils().changerVersionBranche(chemin, id)
# Ou création d'un autre répertoire id_en_cours / id_en_cours
chemin_fichier
=
self
.
chemin
+
"en_cours/"
chemin_fichier
=
self
.
chemin
+
"en_cours/"
Path
(
chemin_fichier
)
.
mkdir
(
parents
=
True
,
exist_ok
=
True
)
Path
(
chemin_fichier
)
.
mkdir
(
parents
=
True
,
exist_ok
=
True
)
...
@@ -111,10 +102,6 @@ class EncoursDao:
...
@@ -111,10 +102,6 @@ class EncoursDao:
self
.
base_donnees
.
encours
.
update_one
({
"_id"
:
ObjectId
(
id
)},
self
.
base_donnees
.
encours
.
update_one
({
"_id"
:
ObjectId
(
id
)},
{
"$set"
:
{
"fichier"
:
"en_cours/"
+
id
}})
{
"$set"
:
{
"fichier"
:
"en_cours/"
+
id
}})
# initialiser le git et récupérer le commit
# self.gitUtils.commit(chemin_fichier, id, "version" + str(version))
## création d'un contenu en cours, dans l'état refuse
## création d'un contenu en cours, dans l'état refuse
# @param version la version du contenu d'origine
# @param version la version du contenu d'origine
# @param nomBranche -> plus utile.
# @param nomBranche -> plus utile.
...
@@ -122,13 +109,17 @@ class EncoursDao:
...
@@ -122,13 +109,17 @@ class EncoursDao:
self
.
base_donnees
.
encours
.
update_one
({
"_id"
:
ObjectId
(
id_contenu_en_cours
)},
{
"$set"
:
{
"refuse"
:
"oui"
}})
self
.
base_donnees
.
encours
.
update_one
({
"_id"
:
ObjectId
(
id_contenu_en_cours
)},
{
"$set"
:
{
"refuse"
:
"oui"
}})
self
.
base_donnees
.
encours
.
update_one
({
"_id"
:
ObjectId
(
id_contenu_en_cours
)},
{
"$unset"
:
{
"isPublie"
:
"oui"
}})
self
.
base_donnees
.
encours
.
update_one
({
"_id"
:
ObjectId
(
id_contenu_en_cours
)},
{
"$unset"
:
{
"isPublie"
:
"oui"
}})
## récupérer le dernier id inséré dans encours
# @return l'id de la derniere insertion dans encours.
def
recuperer_dernier_id
(
self
):
def
recuperer_dernier_id
(
self
):
dernier_id_insere
=
self
.
base_donnees
.
encours
.
find
()
.
sort
(
"_id"
,
-
1
)
.
limit
(
1
)
dernier_id_insere
=
self
.
base_donnees
.
encours
.
find
()
.
sort
(
"_id"
,
-
1
)
.
limit
(
1
)
record
=
next
(
dernier_id_insere
,
None
)
record
=
next
(
dernier_id_insere
,
None
)
return
str
(
record
.
get
(
"_id"
))
return
str
(
record
.
get
(
"_id"
))
## récupérer le chemin associé au contenu en cours
# @param id_contenu le contenu en cours concerné
# @return le chemin associé à id_contenu.
def
get_chemin_contenu_en_cours
(
self
,
id_contenu
):
def
get_chemin_contenu_en_cours
(
self
,
id_contenu
):
if
type
(
'id_contenu'
)
==
str
:
if
type
(
'id_contenu'
)
==
str
:
id_contenu
=
ObjectId
(
id_contenu
)
id_contenu
=
ObjectId
(
id_contenu
)
...
...
modele/evaluation_dao.py
View file @
ac62cc0e
...
@@ -8,7 +8,6 @@ class EvaluationDao:
...
@@ -8,7 +8,6 @@ class EvaluationDao:
## 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
base_donnees
=
client
.
squelette
base_donnees
=
client
.
squelette
## Création d'une nouvelle évaluation
## Création d'une nouvelle évaluation
# @param contenus tableau avec les id des contenus associés à cette évaluation
# @param contenus tableau avec les id des contenus associés à cette évaluation
# @param auteur l'auteur qui créée l'évaluation
# @param auteur l'auteur qui créée l'évaluation
...
@@ -29,6 +28,7 @@ class EvaluationDao:
...
@@ -29,6 +28,7 @@ class EvaluationDao:
## récupérer une ou plusieurs évaluations
## récupérer une ou plusieurs évaluations
# @param auteur l'utilisateur souhaitant effectuer la récupération
# @param auteur l'utilisateur souhaitant effectuer la récupération
# @param id si non 0, l'id de l'évaluation à récupérer.
# @param id si non 0, l'id de l'évaluation à récupérer.
# @return une évaluation ou toutes les évaluations de l'auteur
@
staticmethod
@
staticmethod
def
get_evaluations
(
self
,
auteur
,
id
=
0
):
def
get_evaluations
(
self
,
auteur
,
id
=
0
):
if
id
==
0
:
if
id
==
0
:
...
@@ -43,6 +43,7 @@ class EvaluationDao:
...
@@ -43,6 +43,7 @@ class EvaluationDao:
self
.
base_donnees
.
evaluation
.
delete_one
({
"idEval"
:
idEval
})
self
.
base_donnees
.
evaluation
.
delete_one
({
"idEval"
:
idEval
})
## récupérer l'id max des évaluations (sera supprimé et remplacé par les id mongo)
## récupérer l'id max des évaluations (sera supprimé et remplacé par les id mongo)
# @return l'id max des conenus en cours
@
staticmethod
@
staticmethod
def
get_max_id_evaluations
(
self
):
def
get_max_id_evaluations
(
self
):
## Fonction permettant de récupérer l'id max présent en base (pour pouvoir incrémenter un nouveau contenu).
## Fonction permettant de récupérer l'id max présent en base (pour pouvoir incrémenter un nouveau contenu).
...
...
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