Skip to content

Commit

Permalink
Refactor provider tag lookup
Browse files Browse the repository at this point in the history
  • Loading branch information
zquestz committed Apr 26, 2016
1 parent fd61a95 commit d39c960
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 16 deletions.
25 changes: 17 additions & 8 deletions providers/providers.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,14 +85,7 @@ func Search(binary string, p string, t string, q string, userProvider bool, verb
return err
}

for _, providerName := range ProviderNames(false) {
provider := Providers[providerName]
for _, providerTag := range provider.Tags() {
if providerTag == tag {
builders = append(builders, provider)
}
}
}
builders = append(builders, GetProvidersByTag(tag)...)
}

var success bool
Expand Down Expand Up @@ -121,6 +114,22 @@ func Search(binary string, p string, t string, q string, userProvider bool, verb
return nil
}

// GetProvidersByTag gets all providers with a specific tag.
func GetProvidersByTag(tag string) []Provider {
provs := []Provider{}

for _, providerName := range ProviderNames(false) {
provider := Providers[providerName]
for _, providerTag := range provider.Tags() {
if providerTag == tag {
provs = append(provs, provider)
}
}
}

return provs
}

// DisplayProviders displays all the loaded providers.
func DisplayProviders(verbose bool) string {
names := ProviderNames(verbose)
Expand Down
9 changes: 1 addition & 8 deletions server/search.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,7 @@ func search(defaultProvider string, verbose bool, w http.ResponseWriter, r *http
}

if requestedTag != "" {
for _, pName := range providers.ProviderNames(false) {
p := providers.Providers[pName]
for _, providerTag := range p.Tags() {
if providerTag == requestedTag {
builders = append(builders, p)
}
}
}
builders = append(builders, providers.GetProvidersByTag(requestedTag)...)
}

if len(builders) == 0 {
Expand Down

0 comments on commit d39c960

Please sign in to comment.