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(cls, name='', seller='', start_date='', end_date='', section=''): query = DBSession().query(cls) if name: query = query.filter(cls.name.like('%{}%'.format(name))) if seller: query = query.filter(cls.seller.like('%{}%'.format(seller))) if section: query = query.filter(cls.seller.like('%{}%'.format(section))) if start_date and end_date: start_date = datetime.datetime.strptime(start_date, '%Y-%m-%d') end_date = datetime.datetime.strptime(end_date, '%Y-%m-%d') query = query.filter(cls.created_at.between(start_date, end_date)) print query return query.all()