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
568b0c25
Commit
568b0c25
authored
May 07, 2021
by
Jérémie Passerat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Version finale avant présentation du 07/05/21
parent
37c8db99
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
98 additions
and
52 deletions
+98
-52
Main.py
Main.py
+14
-2
Menu.py
Menu.py
+52
-8
Utils.py
Utils.py
+32
-42
No files found.
Main.py
View file @
568b0c25
...
@@ -28,10 +28,22 @@ from Utils import Utils
...
@@ -28,10 +28,22 @@ from Utils import Utils
# 2. Installer les outils mentionnés ci dessus \n
# 2. Installer les outils mentionnés ci dessus \n
# 3. Modifier le chemin présent à la ligne 21 du fichier Utils.py (et le remplacer par le chemin ou vous avez cloné le dépôt git) \n
# 3. Modifier le chemin présent à la ligne 21 du fichier Utils.py (et le remplacer par le chemin ou vous avez cloné le dépôt git) \n
# 4. Lancer Main.py, soit directement à la main, soit via un IDE configuré pour ça (environnement virtual utilisable) \n
# 4. Lancer Main.py, soit directement à la main, soit via un IDE configuré pour ça (environnement virtual utilisable) \n
Menu
()
#Menu()
Utils
.
initialise_mongo
()
contenus_autres
=
Utils
.
get_contenus
(
"Auteur 1"
,
False
)
for
elt
in
contenus_autres
:
print
(
"id : "
,
elt
[
"id"
],
"nom :"
,
elt
[
"fichier"
],
" - v"
,
elt
[
"versionEnCours"
][
"numero"
],
" - du"
,
elt
[
"versionEnCours"
][
"date"
])
print
(
" -------------------------------------------- "
)
contenus
=
Utils
.
get_contenus
(
"Auteur 1"
,
True
)
for
elt
in
contenus
:
print
(
"id : "
,
elt
[
"id"
],
"nom :"
,
elt
[
"fichier"
],
" - v"
,
elt
[
"versionEnCours"
][
"numero"
],
" - du"
,
elt
[
"versionEnCours"
][
"date"
])
# Utils.initialise_mongo()
# Utils.tout_peter()
# Utils.tout_peter()
# Utils.creer_auteur_si_besoin()
# Utils.creer_auteur_si_besoin()
# Utils.ajouter_contenu("Contenu1", "Auteur 1")
# Utils.ajouter_contenu("Contenu1", "Auteur 1")
...
...
Menu.py
View file @
568b0c25
...
@@ -141,6 +141,7 @@ class Menu:
...
@@ -141,6 +141,7 @@ class Menu:
if
action
==
'c'
:
if
action
==
'c'
:
os
.
system
(
'clear'
)
os
.
system
(
'clear'
)
print
(
"Bonjour "
,
self
.
auteur_en_cours
)
print
(
"Bonjour "
,
self
.
auteur_en_cours
)
print
(
"Vous consultez le contenu "
,
id
)
Utils
.
changer_version
(
id
,
0
,
"master"
)
Utils
.
changer_version
(
id
,
0
,
"master"
)
if
Utils
.
get_version_courante
(
id
)
!=
1
:
if
Utils
.
get_version_courante
(
id
)
!=
1
:
print
(
"Je choisis la version que je veux : (entre 1 et"
,
Utils
.
get_version_courante
(
id
),
")"
)
print
(
"Je choisis la version que je veux : (entre 1 et"
,
Utils
.
get_version_courante
(
id
),
")"
)
...
@@ -150,7 +151,7 @@ class Menu:
...
@@ -150,7 +151,7 @@ class Menu:
Utils
.
changer_version
(
id
,
choix
)
Utils
.
changer_version
(
id
,
choix
)
else
:
else
:
version_courante
=
int
(
Utils
.
get_version_courante
(
id
))
version_courante
=
int
(
Utils
.
get_version_courante
(
id
))
Utils
.
changer_version
(
version_courante
,
id
)
Utils
.
changer_version
(
id
,
version_courante
)
print
(
"Voici le détail de votre contenu n°"
,
id
)
print
(
"Voici le détail de votre contenu n°"
,
id
)
Utils
.
consulter_un_contenu
(
id
,
self
.
auteur_en_cours
)
Utils
.
consulter_un_contenu
(
id
,
self
.
auteur_en_cours
)
# Utils.affichage(Utils.get_chemin_du_contenu(id))
# Utils.affichage(Utils.get_chemin_du_contenu(id))
...
@@ -197,7 +198,7 @@ class Menu:
...
@@ -197,7 +198,7 @@ class Menu:
def
afficher_contenus
(
self
,
contenu
):
def
afficher_contenus
(
self
,
contenu
):
for
elt
in
contenu
:
for
elt
in
contenu
:
print
(
"nom :"
,
elt
[
"fichier"
],
" - v"
,
elt
[
"versionEnCours"
][
"numero"
],
" - du"
,
print
(
"
id : "
,
elt
[
"id"
],
"
nom :"
,
elt
[
"fichier"
],
" - v"
,
elt
[
"versionEnCours"
][
"numero"
],
" - du"
,
elt
[
"versionEnCours"
][
"date"
])
elt
[
"versionEnCours"
][
"date"
])
def
modifier_contenu
(
self
,
id_contenu
):
def
modifier_contenu
(
self
,
id_contenu
):
...
@@ -345,7 +346,7 @@ class Menu:
...
@@ -345,7 +346,7 @@ class Menu:
self
.
valider_modification
(
id
)
self
.
valider_modification
(
id
)
print
(
"La demande de validation du contenu a été effectuée"
)
print
(
"La demande de validation du contenu a été effectuée"
)
# Si le contenu validé est d'origine personnelle on peut supprimer le en cours (sinon on le conserve)
# Si le contenu validé est d'origine personnelle on peut supprimer le en cours (sinon on le conserve)
if
not
Utils
.
is_tiers_auteur
(
self
.
auteur_en_cours
,
id
):
if
not
Utils
.
is_tiers_auteur
(
self
.
auteur_en_cours
,
id
)
or
Utils
.
is_anonyme
(
id
)
:
Utils
.
supprimer_contenu_en_cours
(
int
(
id
))
Utils
.
supprimer_contenu_en_cours
(
int
(
id
))
print
(
"Appuyer sur q pour revenir en arriere : "
)
print
(
"Appuyer sur q pour revenir en arriere : "
)
...
@@ -374,7 +375,10 @@ class Menu:
...
@@ -374,7 +375,10 @@ class Menu:
for
elt
in
contenu
:
for
elt
in
contenu
:
print
(
"id Modif :"
,
elt
[
"idContenuEC"
],
"auteur original :"
,
elt
[
"auteur"
],
" - id Original :"
,
print
(
"id Modif :"
,
elt
[
"idContenuEC"
],
"auteur original :"
,
elt
[
"auteur"
],
" - id Original :"
,
elt
[
"reference"
],
elt
[
"reference"
],
"version original"
,
elt
[
"version"
],
" date modif "
,
elt
[
"date"
])
"version original"
,
elt
[
"version"
],
" date modif "
,
elt
[
"date"
],
end
=
''
)
if
Utils
.
is_en_cours_demande
(
elt
[
"idContenuEC"
],
self
.
auteur_en_cours
):
print
(
"(demande de publication en cours sur ce contenu)"
)
#print("\n")
## Menu des contenus en banque
## Menu des contenus en banque
...
@@ -450,7 +454,7 @@ class Menu:
...
@@ -450,7 +454,7 @@ class Menu:
idContenu
=
Utils
.
get_id_contenu_associe_a_un_en_cours
(
idContenuEnCours
)
idContenu
=
Utils
.
get_id_contenu_associe_a_un_en_cours
(
idContenuEnCours
)
branche
=
Utils
.
get_branche_contenu_en_cours
(
idContenuEnCours
)
branche
=
Utils
.
get_branche_contenu_en_cours
(
idContenuEnCours
)
if
auteur
==
self
.
auteur_en_cours
:
if
auteur
==
self
.
auteur_en_cours
or
Utils
.
is_anonyme
(
idContenu
)
:
chemin
=
Utils
.
get_chemin_du_contenu
(
idContenu
)
chemin
=
Utils
.
get_chemin_du_contenu
(
idContenu
)
Utils
.
maj_contenu
(
chemin
,
idContenu
,
branche
)
Utils
.
maj_contenu
(
chemin
,
idContenu
,
branche
)
else
:
else
:
...
@@ -644,7 +648,7 @@ class Menu:
...
@@ -644,7 +648,7 @@ class Menu:
if
pub
[
"etat"
]
==
"accepté"
:
if
pub
[
"etat"
]
==
"accepté"
:
print
(
"Votre publication a été acceptée. Le contenu tiers correspondant a été mis à jours"
)
print
(
"Votre publication a été acceptée. Le contenu tiers correspondant a été mis à jours"
)
Utils
.
supprimer_publication
(
pub
[
"id"
])
Utils
.
supprimer_publication
(
pub
[
"id"
])
#Utils.supprimer_contenu_en_cours(Utils.get_id_contenu_en_cours_associe_a_une_publication(pub['id']))
#
Utils.supprimer_contenu_en_cours(Utils.get_id_contenu_en_cours_associe_a_une_publication(pub['id']))
if
pub
[
"etat"
]
==
"refus"
:
if
pub
[
"etat"
]
==
"refus"
:
print
(
"Actions possibles : "
)
print
(
"Actions possibles : "
)
print
(
"n : creer un nouveau contenu a partir de celui ci"
)
print
(
"n : creer un nouveau contenu a partir de celui ci"
)
...
@@ -652,10 +656,10 @@ class Menu:
...
@@ -652,10 +656,10 @@ class Menu:
print
(
"c : (non disponible) conserver le contenu en l'état"
)
print
(
"c : (non disponible) conserver le contenu en l'état"
)
print
(
"q : remettre ce choix à plus tard"
)
print
(
"q : remettre ce choix à plus tard"
)
choix
=
input
()
choix
=
input
()
print
(
"Le choix que je fais : "
,
choix
)
print
(
"Le choix que je fais : "
,
choix
)
if
choix
==
'n'
:
if
choix
==
'n'
:
id_en_cours
=
Utils
.
get_id_contenu_en_cours_associe_a_une_publication
(
id_pub
)
id_en_cours
=
Utils
.
get_id_contenu_en_cours_associe_a_une_publication
(
id_pub
)
print
(
"L'id du contenu en cours est : "
,
id_en_cours
)
print
(
"L'id du contenu en cours est : "
,
id_en_cours
)
contenu_associe
=
Utils
.
get_id_contenu_associe_a_un_en_cours
(
id_en_cours
)
contenu_associe
=
Utils
.
get_id_contenu_associe_a_un_en_cours
(
id_en_cours
)
chemin
=
Utils
.
get_chemin_du_contenu
(
contenu_associe
)
chemin
=
Utils
.
get_chemin_du_contenu
(
contenu_associe
)
...
@@ -682,6 +686,46 @@ class Menu:
...
@@ -682,6 +686,46 @@ class Menu:
input
()
input
()
self
.
menu_des_actions
()
self
.
menu_des_actions
()
## listing de toutes les mises a jour possibles pour les tiers d'un auteur
# @param auteur l'auteur en cours
def
liste_maj_tiers
(
self
,
auteur
):
# on cherche toutes les versions en cours dans les tiers et on compare avec celles de la banque
# Trouver un moyen de sauvegarder le fait qu'une maj ait été refusée.
tiers
=
Utils
.
get_contenus_tiers
(
auteur
)
for
(
id
,
version
)
in
tiers
:
versionCourante
=
Utils
.
get_version_courante
(
id
[
"contenu"
])
if
version
[
"version"
]
<
versionCourante
:
if
not
Utils
.
is_maj_refusee
(
auteur
,
id
[
"contenu"
],
versionCourante
):
print
(
"Contenu : "
,
id
[
"contenu"
],
" version actuelle : "
,
version
[
"version"
],
"version maj : "
,
versionCourante
)
print
(
"Mise à jour possible"
)
print
(
"Appuyer sur c pour consulter le détail de la mise à jour du contenu"
)
choix
=
input
()
if
choix
==
'c'
:
Utils
.
changer_version
(
id
[
"contenu"
],
0
,
"master"
)
Utils
.
changer_version
(
id
[
"contenu"
],
Utils
.
get_version_courante
(
id
[
"contenu"
]))
print
(
"Détail de la maj disponible pour le contenu : "
)
Utils
.
consulter_un_contenu
(
id
[
"contenu"
],
self
.
auteur_en_cours
)
print
(
"Appuyer sur o pour accepter cette maj, sur n pour la refuser ou sur q pour revenir au menu des actions : "
)
if
choix
==
'o'
:
Utils
.
maj_tiers
(
id
[
"contenu"
],
versionCourante
,
auteur
)
print
(
"Mise à jour effectuée"
)
print
(
"appuyez sur q pour revenir au menu des actions"
)
input
()
self
.
menu_des_actions
()
elif
choix
==
'n'
:
Utils
.
maj_tiers
(
id
[
"contenu"
],
versionCourante
,
auteur
,
True
)
print
(
"Mise à jour refusée"
)
print
(
"appuyez sur q pour revenir au menu des actions"
)
input
()
self
.
menu_des_actions
()
else
:
self
.
menu_des_actions
()
'''
'''
## Importer un fichier
## Importer un fichier
...
...
Utils.py
View file @
568b0c25
...
@@ -74,7 +74,7 @@ class Utils:
...
@@ -74,7 +74,7 @@ class Utils:
if
max_id
is
None
:
if
max_id
is
None
:
max_id
=
0
max_id
=
0
print
(
"nomFichier : "
,
Utils
.
chemin
+
"dossier"
+
nomFichier
+
"/"
)
#
print("nomFichier : ", Utils.chemin + "dossier" + nomFichier + "/")
cheminFichier
=
Utils
.
chemin
+
"dossier"
+
nomFichier
+
"/"
cheminFichier
=
Utils
.
chemin
+
"dossier"
+
nomFichier
+
"/"
...
@@ -83,7 +83,7 @@ class Utils:
...
@@ -83,7 +83,7 @@ class Utils:
os
.
system
(
"cp '"
+
Utils
.
chemin
+
nomFichier
+
"' '"
+
cheminFichier
+
nomFichier
+
"'"
)
os
.
system
(
"cp '"
+
Utils
.
chemin
+
nomFichier
+
"' '"
+
cheminFichier
+
nomFichier
+
"'"
)
commit
=
UtilsGit
.
commit
(
cheminFichier
,
nomFichier
,
"Version 1"
)
commit
=
UtilsGit
.
commit
(
cheminFichier
,
nomFichier
,
"Version 1"
)
print
(
"commit : "
,
commit
)
#
print("commit : ", commit)
Utils
.
statdb
.
contenu
.
insert_one
(
Utils
.
statdb
.
contenu
.
insert_one
(
{
"id"
:
max_id
+
1
,
"auteur"
:
auteur
,
"note"
:
randrange
(
0
,
10
,
1
),
{
"id"
:
max_id
+
1
,
"auteur"
:
auteur
,
"note"
:
randrange
(
0
,
10
,
1
),
...
@@ -106,8 +106,14 @@ class Utils:
...
@@ -106,8 +106,14 @@ class Utils:
if
panier
:
if
panier
:
return
Utils
.
statdb
.
contenu
.
find
({
"auteur"
:
auteur
})
return
Utils
.
statdb
.
contenu
.
find
({
"auteur"
:
auteur
})
else
:
else
:
tiers_auteur
=
Utils
.
get_contenus_tiers
(
auteur
)
contenus_tiers
=
Utils
.
get_contenus_tiers
(
auteur
)
return
Utils
.
statdb
.
contenu
.
find
({
"auteur"
:
{
"$ne"
:
auteur
}}
and
{
"id"
:
{
"$nin"
:
tiers_auteur
}})
tiers_auteur
=
list
()
for
tier
in
contenus_tiers
:
tiers_auteur
.
append
(
tier
[
0
][
"contenu"
])
#return Utils.statdb.contenu.find({"auteur": {"$ne": auteur}} or {"id": {"$nin": tiers_auteur}})
#return Utils.statdb.contenu.find({"auteur": {"$ne": auteur}})
# print ("tiers de l'auteur : ", tiers_auteur)
return
Utils
.
statdb
.
contenu
.
find
({
"$and"
:
[{
"auteur"
:
{
"$ne"
:
auteur
}},
{
"id"
:
{
"$nin"
:
tiers_auteur
}}]})
## Consultation de tous les contenus, sans distinction
## Consultation de tous les contenus, sans distinction
# (utile temporairement pour la création d'évaluations)
# (utile temporairement pour la création d'évaluations)
...
@@ -154,7 +160,7 @@ class Utils:
...
@@ -154,7 +160,7 @@ class Utils:
# @param idContenu l'identifiant du contenu
# @param idContenu l'identifiant du contenu
@
staticmethod
@
staticmethod
def
is_anonyme
(
idContenu
):
def
is_anonyme
(
idContenu
):
print
(
"Is anonyme : "
,
Utils
.
statdb
.
contenu
.
find_one
({
"id"
:
idContenu
})[
"auteur"
])
#
print("Is anonyme : ", Utils.statdb.contenu.find_one({"id": idContenu})["auteur"])
return
Utils
.
statdb
.
contenu
.
find_one
({
"id"
:
idContenu
})[
"auteur"
]
==
"Aucun"
return
Utils
.
statdb
.
contenu
.
find_one
({
"id"
:
idContenu
})[
"auteur"
]
==
"Aucun"
## Récupérer un contenu à partir de son identifiant et sa version
## Récupérer un contenu à partir de son identifiant et sa version
...
@@ -229,7 +235,7 @@ class Utils:
...
@@ -229,7 +235,7 @@ class Utils:
element
=
Utils
.
statdb
.
encours
.
find
()
.
sort
(
"idContenuEC"
,
-
1
)
.
limit
(
1
)
element
=
Utils
.
statdb
.
encours
.
find
()
.
sort
(
"idContenuEC"
,
-
1
)
.
limit
(
1
)
for
elt
in
element
:
for
elt
in
element
:
print
(
"id : "
,
elt
)
#
print("id : ", elt)
return
int
(
elt
[
"idContenuEC"
])
return
int
(
elt
[
"idContenuEC"
])
## Récupérer l'id maximal (pour les demandes de publication)
## Récupérer l'id maximal (pour les demandes de publication)
...
@@ -241,7 +247,7 @@ class Utils:
...
@@ -241,7 +247,7 @@ class Utils:
element
=
Utils
.
statdb
.
demandesPub
.
find
()
.
sort
(
"id"
,
-
1
)
.
limit
(
1
)
element
=
Utils
.
statdb
.
demandesPub
.
find
()
.
sort
(
"id"
,
-
1
)
.
limit
(
1
)
for
elt
in
element
:
for
elt
in
element
:
print
(
"id : "
,
elt
)
#
print("id : ", elt)
return
int
(
elt
[
"id"
])
return
int
(
elt
[
"id"
])
## Récupérer les tiers d'un utilisateur
## Récupérer les tiers d'un utilisateur
...
@@ -336,7 +342,7 @@ class Utils:
...
@@ -336,7 +342,7 @@ class Utils:
@
staticmethod
@
staticmethod
def
modification_fichier
(
chemin
,
idContenu
,
auteur
,
modifPremiere
=
True
):
def
modification_fichier
(
chemin
,
idContenu
,
auteur
,
modifPremiere
=
True
):
print
(
"Le chemin du fichier est : "
,
chemin
)
#
print("Le chemin du fichier est : ", chemin)
# on récupère la fin du fichier (la version)
# on récupère la fin du fichier (la version)
fin
=
Utils
.
affichage
(
chemin
)
fin
=
Utils
.
affichage
(
chemin
)
...
@@ -348,14 +354,14 @@ class Utils:
...
@@ -348,14 +354,14 @@ class Utils:
repertoire
=
chemin
[:
chemin
.
rfind
(
"/"
)
+
1
]
repertoire
=
chemin
[:
chemin
.
rfind
(
"/"
)
+
1
]
nomFichier
=
chemin
[
chemin
.
rfind
(
"/"
)
+
1
:]
nomFichier
=
chemin
[
chemin
.
rfind
(
"/"
)
+
1
:]
print
(
"nomFichier :"
,
nomFichier
)
#
print("nomFichier :", nomFichier)
print
(
"chemin :"
,
chemin
)
#
print("chemin :", chemin)
# exit(0)
# exit(0)
if
modifPremiere
:
if
modifPremiere
:
# on créée une nouvelle branche et on va dedans
# on créée une nouvelle branche et on va dedans
nomBranche
=
"version"
+
str
(
version
+
1
)
nomBranche
=
"version"
+
str
(
version
+
1
)
print
(
"Je veux la branche"
,
nomBranche
)
#
print("Je veux la branche", nomBranche)
UtilsGit
.
embranchement
(
repertoire
,
nomBranche
)
UtilsGit
.
embranchement
(
repertoire
,
nomBranche
)
UtilsGit
.
changerVersionBranche
(
repertoire
,
nomBranche
)
UtilsGit
.
changerVersionBranche
(
repertoire
,
nomBranche
)
# si on est pas en "modifPremiere" on est déja dans la bonne branche.
# si on est pas en "modifPremiere" on est déja dans la bonne branche.
...
@@ -444,7 +450,7 @@ class Utils:
...
@@ -444,7 +450,7 @@ class Utils:
@
staticmethod
@
staticmethod
def
get_id_contenu_associe_a_un_en_cours
(
idContenuEnCours
):
def
get_id_contenu_associe_a_un_en_cours
(
idContenuEnCours
):
print
(
"L'id en cours que j'ai est"
,
idContenuEnCours
,
" - "
,
type
(
idContenuEnCours
))
#
print("L'id en cours que j'ai est", idContenuEnCours, " - ", type(idContenuEnCours))
return
Utils
.
statdb
.
encours
.
find_one
({
"idContenuEC"
:
int
(
idContenuEnCours
)})[
"reference"
]
return
Utils
.
statdb
.
encours
.
find_one
({
"idContenuEC"
:
int
(
idContenuEnCours
)})[
"reference"
]
@
staticmethod
@
staticmethod
...
@@ -454,7 +460,7 @@ class Utils:
...
@@ -454,7 +460,7 @@ class Utils:
@
staticmethod
@
staticmethod
def
get_id_contenu_en_cours_associe_a_une_publication
(
idDdePublication
):
def
get_id_contenu_en_cours_associe_a_une_publication
(
idDdePublication
):
print
(
"L'id en cours que j'ai est"
,
idDdePublication
,
" - "
,
type
(
idDdePublication
))
#
print("L'id en cours que j'ai est", idDdePublication, " - ", type(idDdePublication))
return
Utils
.
statdb
.
demandesPub
.
find_one
({
"id"
:
int
(
idDdePublication
)})[
"idContenuEnCours"
]
return
Utils
.
statdb
.
demandesPub
.
find_one
({
"id"
:
int
(
idDdePublication
)})[
"idContenuEnCours"
]
## récupérer le chemin d'un fichier associé à un contenu
## récupérer le chemin d'un fichier associé à un contenu
...
@@ -521,7 +527,7 @@ class Utils:
...
@@ -521,7 +527,7 @@ class Utils:
## creer un contenu à partir d'un contenu en cours
## creer un contenu à partir d'un contenu en cours
@
staticmethod
@
staticmethod
def
creer_nouveau_contenu
(
chemin
,
auteurEnCours
,
idContenuEnCours
):
def
creer_nouveau_contenu
(
chemin
,
auteurEnCours
,
idContenuEnCours
):
print
(
"chemin : "
,
chemin
)
#
print("chemin : ", chemin)
# hard codé pour l'exemple, sera adaptatif dans le futur
# hard codé pour l'exemple, sera adaptatif dans le futur
max_id
=
3
max_id
=
3
...
@@ -530,9 +536,9 @@ class Utils:
...
@@ -530,9 +536,9 @@ class Utils:
cheminFichier
=
Utils
.
chemin
+
dossierFichier
cheminFichier
=
Utils
.
chemin
+
dossierFichier
nomFichier
=
chemin
[
chemin
.
rfind
(
"/"
)
+
1
:]
nomFichier
=
chemin
[
chemin
.
rfind
(
"/"
)
+
1
:]
print
(
"Chemin fichier : "
,
cheminFichier
)
#
print("Chemin fichier : ", cheminFichier)
print
(
"Dossier Fichier : "
,
dossierFichier
)
#
print("Dossier Fichier : ", dossierFichier)
print
(
"NomFichier :"
,
nomFichier
)
#
print("NomFichier :", nomFichier)
Path
(
cheminFichier
)
.
mkdir
(
parents
=
True
,
exist_ok
=
True
)
Path
(
cheminFichier
)
.
mkdir
(
parents
=
True
,
exist_ok
=
True
)
os
.
system
(
"cp "
+
chemin
+
" "
+
cheminFichier
)
os
.
system
(
"cp "
+
chemin
+
" "
+
cheminFichier
)
os
.
system
(
"mv "
+
cheminFichier
+
nomFichier
+
" "
+
cheminFichier
+
"Contenu"
+
str
(
max_id
))
os
.
system
(
"mv "
+
cheminFichier
+
nomFichier
+
" "
+
cheminFichier
+
"Contenu"
+
str
(
max_id
))
...
@@ -591,6 +597,8 @@ class Utils:
...
@@ -591,6 +597,8 @@ class Utils:
def
get_commit_pour_une_version
(
idContenu
,
version
):
def
get_commit_pour_une_version
(
idContenu
,
version
):
print
(
"Je veux récupérer le commit associé à la version "
,
version
,
"pour le contenu "
,
idContenu
)
print
(
"Je veux récupérer le commit associé à la version "
,
version
,
"pour le contenu "
,
idContenu
)
if
version
==
Utils
.
get_version_courante
(
idContenu
):
if
version
==
Utils
.
get_version_courante
(
idContenu
):
courante
=
Utils
.
statdb
.
contenu
.
find_one
({
"id"
:
idContenu
})[
"versionEnCours"
]
courante
=
Utils
.
statdb
.
contenu
.
find_one
({
"id"
:
idContenu
})[
"versionEnCours"
]
return
courante
[
"commit"
]
return
courante
[
"commit"
]
...
@@ -622,29 +630,6 @@ class Utils:
...
@@ -622,29 +630,6 @@ class Utils:
Utils
.
statdb
.
demandesPub
.
update_one
({
"id"
:
int
(
idPublication
)},
{
"$set"
:
{
"etat"
:
"refus"
}})
Utils
.
statdb
.
demandesPub
.
update_one
({
"id"
:
int
(
idPublication
)},
{
"$set"
:
{
"etat"
:
"refus"
}})
# Utils.statdb.demandesPub.update_one({"id": 1}, {"$set": {"etat": "refus"}})
# Utils.statdb.demandesPub.update_one({"id": 1}, {"$set": {"etat": "refus"}})
## listing de toutes les mises a jour possibles pour les tiers d'un auteur
# @param auteur l'auteur en cours
@
staticmethod
def
liste_maj_tiers
(
auteur
):
# on cherche toutes les versions en cours dans les tiers et on compare avec celles de la banque
# Trouver un moyen de sauvegarder le fait qu'une maj ait été refusée.
tiers
=
Utils
.
get_contenus_tiers
(
auteur
)
for
(
id
,
version
)
in
tiers
:
versionCourante
=
Utils
.
get_version_courante
(
id
[
"contenu"
])
if
version
[
"version"
]
<
versionCourante
:
if
not
Utils
.
is_maj_refusee
(
auteur
,
id
[
"contenu"
],
versionCourante
):
print
(
"Contenu : "
,
id
[
"contenu"
],
" version actuelle : "
,
version
[
"version"
],
"version maj : "
,
versionCourante
)
print
(
"Mise à jour possible"
)
print
(
"Voulez vous la faire (O / N)"
)
choix
=
input
()
if
choix
==
'O'
:
Utils
.
maj_tiers
(
id
[
"contenu"
],
versionCourante
,
auteur
)
print
(
"Mise à jour effectuée"
)
else
:
Utils
.
maj_tiers
(
id
[
"contenu"
],
versionCourante
,
auteur
,
True
)
print
(
"Mise à jour refusée"
)
## mettre à jour un favori
## mettre à jour un favori
# @param idContenu l'id du favori
# @param idContenu l'id du favori
# @param versionContenu la version du favori
# @param versionContenu la version du favori
...
@@ -674,11 +659,10 @@ class Utils:
...
@@ -674,11 +659,10 @@ class Utils:
# @param versionMaj la version de la mise à jour potentielle
# @param versionMaj la version de la mise à jour potentielle
@
staticmethod
@
staticmethod
def
is_maj_refusee
(
auteur
,
idContenu
,
versionMaj
):
def
is_maj_refusee
(
auteur
,
idContenu
,
versionMaj
):
print
(
"print"
)
compteur
=
Utils
.
statdb
.
utilisateur
.
find
({
"nom"
:
auteur
}
and
compteur
=
Utils
.
statdb
.
utilisateur
.
find
({
"nom"
:
auteur
}
and
{
"majRejetees"
:
{
"$elemMatch"
:
{
"$elemMatch"
:
{
"contenu"
:
idContenu
,
{
"majRejetees"
:
{
"$elemMatch"
:
{
"$elemMatch"
:
{
"contenu"
:
idContenu
,
"version"
:
versionMaj
}}}})
.
count
()
!=
0
"version"
:
versionMaj
}}}})
.
count
()
!=
0
print
(
"Compteur : "
,
compteur
)
#
print("Compteur : ", compteur)
return
compteur
return
compteur
## Fonction globale de gestion de la recherche sur contenu
## Fonction globale de gestion de la recherche sur contenu
...
@@ -771,3 +755,9 @@ class Utils:
...
@@ -771,3 +755,9 @@ class Utils:
@
staticmethod
@
staticmethod
def
get_auteur_demande_publication
(
idPub
):
def
get_auteur_demande_publication
(
idPub
):
return
Utils
.
statdb
.
demandesPub
.
find_one
({
"id"
:
idPub
})[
"auteurDemande"
]
return
Utils
.
statdb
.
demandesPub
.
find_one
({
"id"
:
idPub
})[
"auteurDemande"
]
## Fonction qui permet de savoir si un contenu en cours à fait l'objet d'une demande de publication
# @param idEnCours l'id du contenu en cours
@
staticmethod
def
is_en_cours_demande
(
idEnCours
,
auteur
):
return
Utils
.
statdb
.
demandesPub
.
find
({
"id"
:
idEnCours
}
and
{
"auteurDemande"
:
auteur
})
.
count
()
!=
0
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