feat(rpc): add "by" parameter - keywords

Add "by" parameter: keywords

Signed-off-by: moson-mo <mo-son@mailbox.org>
This commit is contained in:
moson-mo 2022-11-08 15:26:27 +01:00
parent 5484e68b42
commit efd20ed2c7
No known key found for this signature in database
GPG key ID: 4A4760AB4EE15296
3 changed files with 34 additions and 3 deletions

View file

@ -269,7 +269,7 @@ class RPCSearch(PackageSearch):
sanitization done for the PackageSearch `by` argument.
"""
keys_removed = ("b", "N", "B", "k", "c", "M")
keys_removed = ("b", "N", "B", "c", "M")
def __init__(self) -> "RPCSearch":
super().__init__()
@ -372,11 +372,16 @@ class RPCSearch(PackageSearch):
)
return self
def _search_by_groups(self, keywords: str) -> orm.Query:
def _search_by_groups(self, keywords: str) -> "RPCSearch":
self._join_groups()
self.query = self.query.filter(Group.Name == keywords)
return self
def _search_by_keywords(self, keywords: str) -> "RPCSearch":
self._join_keywords()
self.query = self.query.filter(PackageKeyword.Keyword == keywords)
return self
def search_by(self, by: str, keywords: str) -> "RPCSearch":
"""Override inherited search_by. In this override, we reduce the
scope of what we handle within this function. We do not set `by`