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 json
|
||||||
import enum
|
import enum
|
||||||
|
|
||||||
from werkzeug.security import generate_password_hash, check_password_hash
|
|
||||||
from werkzeug.exceptions import HTTPException, RequestEntityTooLarge
|
from werkzeug.exceptions import HTTPException, RequestEntityTooLarge
|
||||||
from werkzeug.utils import secure_filename
|
from werkzeug.utils import secure_filename
|
||||||
|
|
||||||
@@ -22,28 +21,40 @@ from src.db import mydb as db
|
|||||||
#########################################################
|
#########################################################
|
||||||
# Class et Methods #
|
# Class et Methods #
|
||||||
|
|
||||||
class Role(enum.Enum):
|
class Type_Elem(enum.Enum):
|
||||||
Administrateur = "Administrateur"
|
''' Type d'element
|
||||||
Coach = "Coach"
|
'''
|
||||||
|
Joueur = "JOUEUR"
|
||||||
|
Ballon = "BALLON"
|
||||||
|
Plot = "PLOT"
|
||||||
|
Piquet = "PIQUET"
|
||||||
|
|
||||||
|
class Type_Design(enum.Enum):
|
||||||
|
''' Type de design
|
||||||
|
'''
|
||||||
|
Circle = "CIRCLE"
|
||||||
|
Rectangle = "RECTANGLE"
|
||||||
|
|
||||||
class Exercice(db.Model):
|
class Exercice(db.Model):
|
||||||
|
''' Exercice Model
|
||||||
|
'''
|
||||||
__tablename__ = 'Exercices'
|
__tablename__ = 'Exercices'
|
||||||
|
|
||||||
ExecID = db.Column(db.Integer, primary_key=True)
|
ExecID = db.Column(db.Integer, primary_key=True)
|
||||||
Nom = db.Column(db.String(32), nullable=False, default="")
|
Nom = db.Column(db.String(32), nullable=False, default="")
|
||||||
Description = db.Column(db.Text, nullable=False, default="")
|
Description = db.Column(db.Text, nullable=False, default="")
|
||||||
NbJoueurs = db.Column(db.Integer, nullable=False)
|
NbJoueurs = db.Column(db.Integer, nullable=False, default=0)
|
||||||
NbBallons = db.Column(db.Integer, nullable=False)
|
NbBallons = db.Column(db.Integer, nullable=False, default=0)
|
||||||
NbPlots = db.Column(db.Integer, nullable=False)
|
NbPlots = db.Column(db.Integer, nullable=False, default=0)
|
||||||
NbPiquets = db.Column(db.Integer, nullable=False)
|
NbPiquets = db.Column(db.Integer, nullable=False, default=0)
|
||||||
|
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
Nom:str='',
|
Nom:str = '',
|
||||||
Description:str='',
|
Description:str = '',
|
||||||
NbJoueurs:int=0,
|
NbJoueurs:int = 0,
|
||||||
NbBallons:int=0,
|
NbBallons:int = 0,
|
||||||
NbPlots:int=0,
|
NbPlots:int = 0,
|
||||||
NbPiquets:int=0) -> None:
|
NbPiquets:int = 0) -> None:
|
||||||
''' constructor '''
|
''' constructor '''
|
||||||
self.Nom = Nom
|
self.Nom = Nom
|
||||||
self.Description = Description
|
self.Description = Description
|
||||||
@@ -53,13 +64,79 @@ class Exercice(db.Model):
|
|||||||
self.NbPiquets = NbPiquets
|
self.NbPiquets = NbPiquets
|
||||||
|
|
||||||
def as_dict(self):
|
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 = {}
|
result = {}
|
||||||
for c in self.__table__.columns:
|
for c in self.__table__.columns:
|
||||||
result[c.name] = getattr(self, c.name)
|
result[c.name] = getattr(self, c.name)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
class Etape(db.Model):
|
class Etape(db.Model):
|
||||||
|
''' Etape Model
|
||||||
|
'''
|
||||||
__tablename__ = 'Etapes'
|
__tablename__ = 'Etapes'
|
||||||
|
|
||||||
EtapeID = db.Column(db.Integer, primary_key=True)
|
EtapeID = db.Column(db.Integer, primary_key=True)
|
||||||
@@ -70,17 +147,17 @@ class Etape(db.Model):
|
|||||||
Duration = db.Column(db.Integer, nullable=False)
|
Duration = db.Column(db.Integer, nullable=False)
|
||||||
StartTime = db.Column(db.Integer, nullable=False)
|
StartTime = db.Column(db.Integer, nullable=False)
|
||||||
EndTime = 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,
|
def __init__(self,
|
||||||
StartX:Float=0.0,
|
StartX:Float = 0.0,
|
||||||
StartY:Float=0.0,
|
StartY:Float = 0.0,
|
||||||
EndX:Float=0.0,
|
EndX:Float = 0.0,
|
||||||
EndY:Float=0.0,
|
EndY:Float = 0.0,
|
||||||
Duration:int=0,
|
Duration:int = 0,
|
||||||
StartTime:int=0,
|
StartTime:int = 0,
|
||||||
EndTime:int=0,
|
EndTime:int = 0,
|
||||||
ElemID:int=0) -> None:
|
ElemID:int = 0) -> None:
|
||||||
''' constructor '''
|
''' constructor '''
|
||||||
self.StartX = StartX
|
self.StartX = StartX
|
||||||
self.StartY = StartY
|
self.StartY = StartY
|
||||||
@@ -92,7 +169,7 @@ class Etape(db.Model):
|
|||||||
self.ElemID = ElemID
|
self.ElemID = ElemID
|
||||||
|
|
||||||
def as_dict(self):
|
def as_dict(self):
|
||||||
''' User as dictionnary '''
|
''' Etape as dictionnary '''
|
||||||
result = {}
|
result = {}
|
||||||
for c in self.__table__.columns:
|
for c in self.__table__.columns:
|
||||||
result[c.name] = getattr(self, c.name)
|
result[c.name] = getattr(self, c.name)
|
||||||
|
|||||||
Reference in New Issue
Block a user