def get_log_entries(tank_id=None, timerange=None): """ Get a list of LogEntry objects """ query = DBSession().query(LogEntry) if tank_id is not None: query = query.filter(LogEntry.tank_id == tank_id) if timerange is not None: if 'start' in timerange: query = query.filter(LogEntry.entry_time >= timerange['start']) if 'end' in timerange: query = query.filter(LogEntry.entry_time <= timerange['end']) return query.order_by(LogEntry.entry_time.asc()).all()
def get_measurements(tank_id=None, parameters=None, timerange=None): """ Get a list of Measurements """ query = DBSession().query(Measurement) if tank_id is not None: query = query.filter(Measurement.tank_id == tank_id) if parameters is not None: query = query.filter(Measurement.measurement_type_id.in_(parameters)) if timerange is not None: if 'start' in timerange: query = query.filter(Measurement.measurement_time >= timerange['start']) if 'end' in timerange: query = query.filter(Measurement.measurement_time <= timerange['end']) return query.order_by(Measurement.measurement_time.asc()).all()
def get_tanks(): """ Get a list of all Tanks """ query = DBSession().query(Tank) return query.order_by(Tank.name.asc()).all()
def get_scheduled_events(tank_id): """ Get a list of ScheduledEvents by tank ID """ query = DBSession().query(ScheduledEvent).filter(ScheduledEvent.tank_id == tank_id) return query.order_by(ScheduledEvent.event_name.asc()).all()
def get_measurement_types(): """ Get a list of all MeasurementTypes """ query = DBSession().query(MeasurementType) return query.order_by(MeasurementType.label.asc()).all()