Skip to content

Commit

Permalink
Improve get_filtered method
Browse files Browse the repository at this point in the history
  • Loading branch information
jdavcs committed Aug 17, 2023
1 parent a73f140 commit 240e263
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 22 deletions.
28 changes: 7 additions & 21 deletions lib/galaxy/model/repositories/tool_shed_repository.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from sqlalchemy import (
and_,
cast,
Integer,
select,
Expand All @@ -16,24 +15,11 @@ class ToolShedRepositoryRepository(ModelRepository):
def __init__(self, session: SessionType):
super().__init__(session, ToolShedRepository)

def get_filtered(self, name, owner, changeset, deleted, uninstalled):
clause_list = []
if name is not None:
clause_list.append(ToolShedRepository.name == name)
if owner is not None:
clause_list.append(ToolShedRepository.owner == owner)
if changeset is not None:
clause_list.append(ToolShedRepository.changeset_revision == changeset)
if deleted is not None:
clause_list.append(ToolShedRepository.deleted == deleted)
if uninstalled is not None:
clause_list.append(ToolShedRepository.uninstalled == uninstalled)

stmt = (
select(ToolShedRepository)
.order_by(ToolShedRepository.name)
.order_by(cast(ToolShedRepository.ctx_rev, Integer).desc())
)
if len(clause_list) > 0:
stmt = stmt.filter(and_(*clause_list))
def get_filtered(self, **kwd):
stmt = select(ToolShedRepository)
for key, value in kwd.items():
if value is not None:
column = ToolShedRepository.table.c[key]
stmt = stmt.filter(column == value)
stmt = stmt.order_by(ToolShedRepository.name).order_by(cast(ToolShedRepository.ctx_rev, Integer).desc())
return self.session.scalars(stmt).all() # type:ignore[union-attr]
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ def index(self, request: InstalledToolShedRepositoryIndexRequest) -> List[Instal
repositories = self._tsr_repo.get_filtered(
name=request.name,
owner=request.owner,
changeset=request.changeset,
changeset_revision=request.changeset,
deleted=request.deleted,
uninstalled=request.uninstalled,
)
Expand Down

0 comments on commit 240e263

Please sign in to comment.