factorisation

This commit is contained in:
Éric Li 2021-06-09 12:48:24 +02:00
parent f5e435c267
commit e8eb8242f7
2 changed files with 9 additions and 13 deletions

View File

@ -1,11 +1,9 @@
from flask import redirect, url_for
from flask_wtf import FlaskForm
from flask_wtf.file import FileAllowed
from wtforms import StringField, SubmitField, FileField, TextAreaField, RadioField, SelectMultipleField, widgets, FieldList, FormField, HiddenField
from wtforms.validators import DataRequired, Regexp, Optional, ValidationError
from wtforms import StringField, SubmitField, FileField, RadioField, widgets, FieldList, FormField, HiddenField
from wtforms.validators import DataRequired, Optional
from wtforms_alchemy import model_form_factory, ClassMap
from wtforms_alchemy.fields import QuerySelectMultipleField
from sqlalchemy_utils import ChoiceType
from app import db
import app.models as models
@ -49,27 +47,26 @@ class AccueilForm(FlaskForm):
importerJSON = SubmitField("ImporterJSON")
importerYAML = SubmitField("ImporterYAML")
def exportJSON(self):
def ListRef(self):
result = {"semestres": [], "competences": [], "acs": [], "pns": [], "saes": [], "coefsaes": [], "ressources": [], "coefressources": []}
for key in result.keys():
model = getattr(models, categorie_to_model[key])
for ref in model.query.all():
result[key].append(ref.export())
return result
def exportJSON(self):
result = self.ListRef()
fichier = REPERTOIRE_EXPORT + "referentiels" + ".json"
with open(fichier, "w", encoding="utf8") as fid:
json.dump(result, fid, cls=CustomEncoder, indent=4)
def exportYAML(self):
result = {"semestres": [], "competences": [], "acs": [], "pns": [], "saes": [], "coefsaes": [], "ressources": [], "coefressources": []}
for key in result.keys():
model = getattr(models, categorie_to_model[key])
for ref in model.query.all():
result[key].append(ref.export())
result = self.ListRef()
fichier = REPERTOIRE_EXPORT + "referentiels" + ".yml"
with open(fichier, "w", encoding="utf8") as fid:
yaml.dump(yaml.safe_load(json.dumps(result, cls=CustomEncoder)), fid, indent=4)
class CoefForm(FlaskForm):
objetformation = HiddenField("Objet de formation")
coef = StringField("Coef")
@ -168,7 +165,6 @@ class PNForm(Form):
type = RadioField("Type", choices=["1","2","3"])
class ACForm(Form):
regex = "^AC\d{4}$"

View File

@ -1,4 +1,4 @@
from flask import render_template, flash, redirect, url_for, request
from flask import render_template, flash, redirect, url_for
from app import app, db
from app.forms import *
import app.models as models