Add ability to search for repos by their full path

This commit is contained in:
Joseph Schorr 2013-10-01 17:02:49 -04:00
parent 76d9cbc14f
commit d09c402675
3 changed files with 19 additions and 5 deletions

View file

@ -110,9 +110,22 @@ def get_visible_repositories(username=None):
def get_matching_repositories(repo_term, username=None):
namespace_term = repo_term
name_term = repo_term
visible = get_visible_repositories(username)
search_clauses = (Repository.name ** ('%' + repo_term + '%') |
Repository.namespace ** ('%' + repo_term + '%'))
search_clauses = (Repository.name ** ('%' + name_term + '%') |
Repository.namespace ** ('%' + namespace_term + '%'))
# Handle the case where the user has already entered a namespace path.
if repo_term.find('/') > 0:
parts = repo_term.split('/', 1)
namespace_term = '/'.join(parts[:-1])
name_term = parts[-1]
search_clauses = (Repository.name ** ('%' + name_term + '%') &
Repository.namespace ** ('%' + namespace_term + '%'))
final = visible.where(search_clauses).limit(10)
return list(final)