Commit 17461616 authored by Jérémie Passerat's avatar Jérémie Passerat

Sauvegarde avant test parsing

parent 3878edf0
import distutils
import http
import os
import json
import random
import string
from datetime import datetime, timezone, timedelta
from distutils import util
import random
import flask
import pytest
from bson import json_util, ObjectId
from flask import Flask, request, jsonify, Blueprint, make_response, send_file
from flask import Flask
from flask import request, jsonify, Blueprint, make_response, send_file
from flask_cors import CORS, cross_origin
from flask_jwt_extended import JWTManager
from flask_jwt_extended import create_access_token, get_jwt, set_access_cookies
from flask_jwt_extended import get_jwt_identity
from flask_jwt_extended import jwt_required
from flask_restx import Api, Resource
from pymongo import MongoClient
from werkzeug.datastructures import FileStorage
from werkzeug.utils import secure_filename
from config.utils import Utils
from modele.contenu_dao import ContenuDao
......@@ -21,17 +23,6 @@ from modele.encours_dao import EncoursDao
from modele.evaluation_dao import EvaluationDao
from modele.utilisateur_dao import UtilisateurDao
import json
from flask import Flask
from flask_cors import CORS, cross_origin
from flask_restx import Api, Resource, Namespace, namespace
from flask_jwt_extended import create_access_token, get_jwt, set_access_cookies, unset_jwt_cookies
from flask_jwt_extended import get_jwt_identity
from flask_jwt_extended import jwt_required
from flask_jwt_extended import JWTManager
app = Flask(__name__)
cors = CORS(app)
app.config['CORS_HEADERS'] = 'Content-Type'
......@@ -57,7 +48,6 @@ api = Api(blueprint, doc='/doc/')
app.register_blueprint(blueprint)
@app.route('/test')
@cross_origin()
def hello_world():
......@@ -107,13 +97,17 @@ def refresh_expiring_jwts(response):
## Test de manipulation des images
image = api.namespace('images', description="pour les champs qui le nécessitent, permet de récupérer des images")
@app.route("/getImage/<nom_image>", methods=['GET'])
def monPetitProutney(image):
#return "Mais oui, les enfantches", 200
# return "Mais oui, les enfantches", 200
return send_file("/home/passerat/Stage/volet_navigation/src/assets/img/croix.png")
users = api.namespace('utilisateurs', description='Entrées liées à la gestion utilisateur')
## *********************************************************************************************************************
## Entrées liées à la gestion utilisateur
@users.route('/newUser')
......@@ -452,7 +446,6 @@ class ajouter_tag_libre(Resource):
## ajouter un tag libre (lié à un contenu ou non)
@jwt_required()
def patch(self):
id_contenu = ""
ContenuDao().creer_tag_libre(request.json["auteur"], request.json["tag"])
return "tag créé", 201
......@@ -610,6 +603,7 @@ class RecupererNoteDonneAUnContenu(Resource):
return str(ContenuDao().recupererNoteContenu(id_contenu["$oid"], request.args.get("version"),
request.args.get("auteur"))), 200
@contenus.route("/recupererNoteGlobale")
@contenus.doc(params={'id_contenu': "l'id du contenu "})
@contenus.doc(params={'version': "la version du contenu concernée par la note "})
......@@ -667,6 +661,17 @@ class changer_texte_contenu(Resource):
return "Texte Maj", 200
@contenus.route("/parserContenu/<id_contenu>")
@contenus.doc(params={'id_contenu': "L(id du contenu à parser"})
@contenus.doc(desciption="lire le xml du document pour en récupérer les données")
class parser_contenu_xml(Resource):
@contenus.response(200, "contenu parsé")
@jwt_required()
def get(self, id_contenu):
id_contenu = json.loads(id_contenu)
return ContenuDao().previsualiser_xml_moodle(id_contenu["$oid"]), 200
en_cours = api.namespace('en_cours', description='Entrées liées à la gestion des contenus en cours')
......
......@@ -2,6 +2,6 @@ import sys
sys.path.insert(0, '/var/www/flask')
activate_this = '/var/www/flask/venv/bin/activate_this.py'
with open(activate_this) as file_:
exec(file_read(), dict(__file__=activate_this))
exec(file_.read(), dict(__file__=activate_this))
from app import app as application
\ No newline at end of file
......@@ -709,3 +709,10 @@ class ContenuDao:
self.base_donnees.contenu.update_one({"_id": ObjectId(id_contenu)},
{"$set": {"historique": contenus}})
return json.dumps([cont['note'], cont['nbreNotes']])
## Fonction qui permet de parser un contenu (de type XML - Moodle) -Fonction utile pour la prévisualisation & l'édition
# @param id_contenu l'id du contenu à parser
# @return un dictionnaire comprenant toutes les informations utiles
def previsualiser_xml_moodle(self, id_contenu):
print("Shiny ", id_contenu, " ", type(id_contenu))
return "Seize the day"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment