Skip to content
Snippets Groups Projects
Select Git revision
  • main
1 result

api_server.py

Blame
  • entities.py 1.14 KiB
    """
    Defines the DB entities.
    """
    
    from pony.orm import Required, Optional, PrimaryKey, Set
    from app import db
    
    
    class City(db.Entity):
        city_id = PrimaryKey(str, auto=True)
        display_name = Optional(str)
        lat = Required(float)
        lon = Required(float)
    
        simulations = Set("Simulation")
        networks = Set("Network")
    
    
    class Network(db.Entity):
        id = PrimaryKey(int, auto=True)
        name = Required(str)
        description = Optional(str)
    
        city = Required(City)
    
        plans = Set("Plan")
    
        east = Optional(float)
        west = Optional(float)
        north = Optional(float)
        south = Optional(float)
    
        done_osm_processing = Optional(bool)
        donematsim_processing = Optional(bool)
        conversion_error = Optional(str)
    
    
    class Status:
        CREATED = 0
        RUNNING = 1
        FINISHED = 2
        ERROR = 3
    
    
    class Simulation(db.Entity):
        id = PrimaryKey(int, auto=True)
        name = Required(str)
        description = Optional(str)
    
        city = Required(City)
        plan = Required("Plan")
    
        status = Optional(int)
    
    
    class Plan(db.Entity):
        id = PrimaryKey(int, auto=True)
        name = Optional(str)
    
        simulation = Set(Simulation)
        network = Required(Network)