From e8eb8242f7f129345d6e36315928474faa22197e Mon Sep 17 00:00:00 2001 From: Nekori Date: Wed, 9 Jun 2021 12:48:24 +0200 Subject: [PATCH] factorisation --- app/forms.py | 20 ++++++++------------ app/routes.py | 2 +- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/app/forms.py b/app/forms.py index 7e713e5..8d61fac 100644 --- a/app/forms.py +++ b/app/forms.py @@ -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}$" diff --git a/app/routes.py b/app/routes.py index 33222e4..8380f3c 100644 --- a/app/routes.py +++ b/app/routes.py @@ -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