Files
api-python/wrapper.py

88 lines
2.4 KiB
Python

from numpy import int32
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import ForeignKey, create_engine, Column, String, DATETIME
import config
MYSQL_HOST = config.MYSQL_HOST
MYSQL_PORT = config.MYSQL_PORT
MYSQL_USER = config.MYSQL_USER
MYSQL_PWD = config.MYSQL_PWD
MYSQL_DB = config.MYSQL_DB
SQLALCHEMY_DATABASE_URI = "mysql+pymysql://{}:{}@{}:{}/{}".format(MYSQL_USER,
MYSQL_PWD,
MYSQL_HOST,
MYSQL_PORT,
MYSQL_DB)
engine = create_engine(SQLALCHEMY_DATABASE_URI)
Session = sessionmaker(bind=engine)
session = Session()
Base = declarative_base()
class Personne(Base):
# Cette classe correspond à la version objet de notre table personne
__tablename__ = "personne"
idPersonne = Column(int32,unique=True,ForeignKey=True)
nom = Column(String(100), unique=False, nullable=False, primary_key=False)
prenom = Column(String(100), nullable=False)
dateNaissance = Column(DATETIME, nullable=False)
tel = Column(String(12), nullable=False)
def add_personne(idPersonne, nom, prenom, dateNaissance, tel):
try:
personne = Personne(idPersonne = idPersonne,
nom = nom,
prenom = prenom,
dateNaissance=dateNaissance,
tel=tel)
session.add(personne)
session.commit()
return True
except Exception as e:
print(e)
return False
def get_personne_by_id(id):
try:
result = session.query(Personne).filter_by(id=id).first()
return result
except Exception as e:
print(e)
return False
def get_all_personnes():
try:
result = session.query(Personne).filter_by()
return result
except Exception as e:
print(e)
return False
def delete_personne_by_id(id):
try:
user_to_delete = get_personne_by_id(id)
if user_to_delete :
session.delete(user_to_delete)
session.commit()
return True
else:
return False
except Exception as e:
print(e)
return False
def update_attribute(id, attributes):
try:
personne_to_update = get_personne_by_id(id)
if personne_to_update :
for k,v in attributes.items():
setattr(personne_to_update, k, v)
session.commit()
return personne_to_update
else:
return False
except Exception as e:
print(e)
return False