ajout des classes pour l'enregistrement en base de données
This commit is contained in:
@@ -11,7 +11,6 @@ import logging as log
|
||||
import json
|
||||
import enum
|
||||
|
||||
from werkzeug.security import generate_password_hash, check_password_hash
|
||||
from werkzeug.exceptions import HTTPException, RequestEntityTooLarge
|
||||
from werkzeug.utils import secure_filename
|
||||
|
||||
@@ -22,28 +21,40 @@ from src.db import mydb as db
|
||||
#########################################################
|
||||
# Class et Methods #
|
||||
|
||||
class Role(enum.Enum):
|
||||
Administrateur = "Administrateur"
|
||||
Coach = "Coach"
|
||||
class Type_Elem(enum.Enum):
|
||||
''' Type d'element
|
||||
'''
|
||||
Joueur = "JOUEUR"
|
||||
Ballon = "BALLON"
|
||||
Plot = "PLOT"
|
||||
Piquet = "PIQUET"
|
||||
|
||||
class Type_Design(enum.Enum):
|
||||
''' Type de design
|
||||
'''
|
||||
Circle = "CIRCLE"
|
||||
Rectangle = "RECTANGLE"
|
||||
|
||||
class Exercice(db.Model):
|
||||
''' Exercice Model
|
||||
'''
|
||||
__tablename__ = 'Exercices'
|
||||
|
||||
ExecID = db.Column(db.Integer, primary_key=True)
|
||||
Nom = db.Column(db.String(32), nullable=False, default="")
|
||||
Description = db.Column(db.Text, nullable=False, default="")
|
||||
NbJoueurs = db.Column(db.Integer, nullable=False)
|
||||
NbBallons = db.Column(db.Integer, nullable=False)
|
||||
NbPlots = db.Column(db.Integer, nullable=False)
|
||||
NbPiquets = db.Column(db.Integer, nullable=False)
|
||||
NbJoueurs = db.Column(db.Integer, nullable=False, default=0)
|
||||
NbBallons = db.Column(db.Integer, nullable=False, default=0)
|
||||
NbPlots = db.Column(db.Integer, nullable=False, default=0)
|
||||
NbPiquets = db.Column(db.Integer, nullable=False, default=0)
|
||||
|
||||
def __init__(self,
|
||||
Nom:str='',
|
||||
Description:str='',
|
||||
NbJoueurs:int=0,
|
||||
NbBallons:int=0,
|
||||
NbPlots:int=0,
|
||||
NbPiquets:int=0) -> None:
|
||||
Nom:str = '',
|
||||
Description:str = '',
|
||||
NbJoueurs:int = 0,
|
||||
NbBallons:int = 0,
|
||||
NbPlots:int = 0,
|
||||
NbPiquets:int = 0) -> None:
|
||||
''' constructor '''
|
||||
self.Nom = Nom
|
||||
self.Description = Description
|
||||
@@ -53,13 +64,79 @@ class Exercice(db.Model):
|
||||
self.NbPiquets = NbPiquets
|
||||
|
||||
def as_dict(self):
|
||||
''' User as dictionnary '''
|
||||
''' Exercice as dictionnary '''
|
||||
result = {}
|
||||
for c in self.__table__.columns:
|
||||
result[c.name] = getattr(self, c.name)
|
||||
return result
|
||||
|
||||
class Element(db.Model):
|
||||
''' Element Model
|
||||
'''
|
||||
__tablename__ = 'Etapes'
|
||||
|
||||
ElemID = db.Column(db.Integer, primary_key=True)
|
||||
Type = db.Column(db.String(16), nullable=False, default=Type_Elem.Joueur)
|
||||
Moving = db.Column(db.Boolean(), nullable=False, default=False)
|
||||
Id = db.Column(db.Integer, nullable=False)
|
||||
ExecID = db.Column(db.Integer, db.ForeignKey('exercice.ExecID'), nullable=False)
|
||||
|
||||
def __init__(self,
|
||||
Type:Type_Elem = Type_Elem.Joueur,
|
||||
Moving:Boolean = False,
|
||||
Id:int = 0,
|
||||
ExecID:int = 0) -> None:
|
||||
''' constructor '''
|
||||
self.Type = Type
|
||||
self.Moving = Moving
|
||||
self.Id = Id
|
||||
self.ExecID = ExecID
|
||||
|
||||
def as_dict(self):
|
||||
''' Element as dictionnary '''
|
||||
result = {}
|
||||
for c in self.__table__.columns:
|
||||
result[c.name] = getattr(self, c.name)
|
||||
return result
|
||||
|
||||
class Design(db.Model):
|
||||
''' Design Model
|
||||
'''
|
||||
__tablename__ = 'Designs'
|
||||
|
||||
DesignID = db.Column(db.Integer, primary_key=True)
|
||||
Type = db.Column(db.String(16), nullable=False, default=Type_Design.Circle)
|
||||
X = db.Column(db.Float, nullable=False, default=0.0)
|
||||
Y = db.Column(db.Float, nullable=False, default=0.0)
|
||||
Radius = db.Column(db.Integer, nullable=False, default=0)
|
||||
Width = db.Column(db.Integer, nullable=False, default=0)
|
||||
Height = db.Column(db.Integer, nullable=False, default=0)
|
||||
ElemID = db.Column(db.Integer, db.ForeignKey('element.ElemID'), nullable=False)
|
||||
|
||||
def __init__(self,
|
||||
Type:Type_Design = Type_Design.Circle,
|
||||
X:Float = 0.0,
|
||||
Y:Float = 0.0,
|
||||
Radius:int = 0,
|
||||
Width:int = 0,
|
||||
Height:int = 0,
|
||||
ElemID:int = 0) -> None:
|
||||
''' constructor '''
|
||||
self.Type = Type
|
||||
self.Moving = Moving
|
||||
self.Id = Id
|
||||
self.ExecID = ExecID
|
||||
|
||||
def as_dict(self):
|
||||
''' Design as dictionnary '''
|
||||
result = {}
|
||||
for c in self.__table__.columns:
|
||||
result[c.name] = getattr(self, c.name)
|
||||
return result
|
||||
|
||||
class Etape(db.Model):
|
||||
''' Etape Model
|
||||
'''
|
||||
__tablename__ = 'Etapes'
|
||||
|
||||
EtapeID = db.Column(db.Integer, primary_key=True)
|
||||
@@ -70,17 +147,17 @@ class Etape(db.Model):
|
||||
Duration = db.Column(db.Integer, nullable=False)
|
||||
StartTime = db.Column(db.Integer, nullable=False)
|
||||
EndTime = db.Column(db.Integer, nullable=False)
|
||||
ElemID = db.Column(db.Integer, db.ForeignKey('utilisateur.userId'), nullable=False)
|
||||
ElemID = db.Column(db.Integer, db.ForeignKey('Element.ElemID'), nullable=False)
|
||||
|
||||
def __init__(self,
|
||||
StartX:Float=0.0,
|
||||
StartY:Float=0.0,
|
||||
EndX:Float=0.0,
|
||||
EndY:Float=0.0,
|
||||
Duration:int=0,
|
||||
StartTime:int=0,
|
||||
EndTime:int=0,
|
||||
ElemID:int=0) -> None:
|
||||
StartX:Float = 0.0,
|
||||
StartY:Float = 0.0,
|
||||
EndX:Float = 0.0,
|
||||
EndY:Float = 0.0,
|
||||
Duration:int = 0,
|
||||
StartTime:int = 0,
|
||||
EndTime:int = 0,
|
||||
ElemID:int = 0) -> None:
|
||||
''' constructor '''
|
||||
self.StartX = StartX
|
||||
self.StartY = StartY
|
||||
@@ -92,7 +169,7 @@ class Etape(db.Model):
|
||||
self.ElemID = ElemID
|
||||
|
||||
def as_dict(self):
|
||||
''' User as dictionnary '''
|
||||
''' Etape as dictionnary '''
|
||||
result = {}
|
||||
for c in self.__table__.columns:
|
||||
result[c.name] = getattr(self, c.name)
|
||||
|
||||
Reference in New Issue
Block a user