def service_get_all(context, disabled=None): query = model_query(context, models.Service) if disabled is not None: query = query.filter_by(disabled=disabled) return query.all()
def _model_evaluation_get_all_with_filters(context, project_id=None, filters=None, sort_key=None, sort_dir=None): if not sort_key: sort_key = 'created_at' if not sort_dir: sort_dir = 'desc' query = (_model_evaluation_get_query(context).join()) query = query.filter(models.Model_Evaluation.project_id == project_id) # Apply filters if not filters: filters = {} # Apply sorting if sort_dir.lower() not in ('desc', 'asc'): msg = _("Wrong sorting data provided: sort key is '%(sort_key)s' " "and sort direction is '%(sort_dir)s'.") % { "sort_key": sort_key, "sort_dir": sort_dir } raise exception.InvalidInput(reason=msg) def apply_sorting(model_evaluation, query): sort_attr = getattr(model_evaluation, sort_key) sort_method = getattr(sort_attr, sort_dir.lower()) return query.order_by(sort_method()) try: query = apply_sorting(models.Model_Evaluation, query) except AttributeError: msg = _("Wrong sorting key provided - '%s'.") % sort_key raise exception.InvalidInput(reason=msg) # Returns list of model_evaluations that satisfy filters. query = query.all() return query