Пример #1
0
def _filter(q: QueryBuilder, filter: Filter) -> QueryBuilder:
    if len(filter.filters) > 0:
        where = _connective_filter(filter)
        # print(where)
        return q.where(where)
    else:
        return q
Пример #2
0
    def apply_dates(query: QueryBuilder,
                    target: Table,
                    start: Optional[date] = None,
                    stop: Optional[date] = None) -> QueryBuilder:
        if start and stop:
            if start == stop:
                return query.where(target.date == Entry.as_value(start))
            else:
                return query.where(
                    target.date[Entry.as_value(start):Entry.as_value(stop)])
        elif start:
            return query.where(target.date >= Entry.as_value(start))
        elif stop:
            return query.where(target.date <= Entry.as_value(stop))

        return query