47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
#!/usr/bin/env python
|
|
# file design.py
|
|
# author Florent Guiotte <florent.guiotte@irisa.fr>
|
|
# version 0.0
|
|
# date 22 mai 2020
|
|
"""Abstract
|
|
|
|
doc.
|
|
"""
|
|
|
|
from datetime import date
|
|
from pony import orm
|
|
|
|
db = orm.Database()
|
|
|
|
class Experiment(db.Entity):
|
|
sessions = orm.Set('Session')
|
|
urgency = orm.Required(int, default=1)
|
|
status = orm.Required(str, default='pending')
|
|
|
|
protocol = orm.Required(str)
|
|
expe = orm.Required(orm.Json)
|
|
expe_hash = orm.Required(str, 32, unique=True)
|
|
|
|
start_date = orm.Optional(date)
|
|
end_date = orm.Optional(date)
|
|
worker = orm.Optional(str)
|
|
ressources = orm.Optional(orm.Json)
|
|
|
|
report = orm.Optional(orm.Json)
|
|
oa = orm.Optional(float)
|
|
aa = orm.Optional(float)
|
|
k = orm.Optional(float)
|
|
|
|
class Session(db.Entity):
|
|
project = orm.Required('Project')
|
|
date = orm.Required(date)
|
|
name = orm.PrimaryKey(str)
|
|
desc = orm.Optional(str)
|
|
urgency = orm.Required(int, default=1)
|
|
experiments = orm.Set('Experiment')
|
|
|
|
class Project(db.Entity):
|
|
name = orm.PrimaryKey(str)
|
|
sessions = orm.Set('Session')
|
|
|