diff options
author | Max Magorsch <arzano@gentoo.org> | 2020-05-03 15:21:30 +0200 |
---|---|---|
committer | Max Magorsch <arzano@gentoo.org> | 2020-05-03 15:21:30 +0200 |
commit | 9324137267d4d6c974f4adbf76f29553e0513791 (patch) | |
tree | 03aee3acd913a1ddb9da76fb71397883bfafef80 /pkg/app/handler/packages/utils.go | |
parent | Fix the import of local useflags (diff) | |
download | soko-9324137267d4d6c974f4adbf76f29553e0513791.tar.gz soko-9324137267d4d6c974f4adbf76f29553e0513791.tar.bz2 soko-9324137267d4d6c974f4adbf76f29553e0513791.zip |
Fix the useflags section for each package
Signed-off-by: Max Magorsch <arzano@gentoo.org>
Diffstat (limited to 'pkg/app/handler/packages/utils.go')
-rw-r--r-- | pkg/app/handler/packages/utils.go | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/pkg/app/handler/packages/utils.go b/pkg/app/handler/packages/utils.go index 84561ec..ece6308 100644 --- a/pkg/app/handler/packages/utils.go +++ b/pkg/app/handler/packages/utils.go @@ -249,24 +249,29 @@ func getParameterValue(parameterName string, r *http.Request) string { // flags and use expands for a given package func getPackageUseflags(gpackage *models.Package) ([]models.Useflag, []models.Useflag, []models.Useflag) { var localUseflags, globalUseflags, useExpands []models.Useflag - for _, useflag := range gpackage.Versions[len(gpackage.Versions)-1].Useflags { + for _, rawUseflag := range gpackage.Versions[len(gpackage.Versions)-1].Useflags { var tmp_useflags []models.Useflag err := database.DBCon.Model(&tmp_useflags). - Where("Name LIKE ?", "%"+strings.Replace(useflag, "+", "", 1)). + Where("Name = ?", strings.Replace(rawUseflag, "+", "", 1)). Select() if err != nil && err != pg.ErrNoRows { logger.Error.Println("Error during fetching added packages from database") logger.Error.Println(err) + continue } - if len(tmp_useflags) >= 1 && tmp_useflags[0].Scope == "global" { - globalUseflags = append(globalUseflags, tmp_useflags[0]) - } else if len(tmp_useflags) >= 1 && tmp_useflags[0].Scope == "local" { - localUseflags = append(localUseflags, tmp_useflags[0]) - } else if len(tmp_useflags) >= 1 { - useExpands = append(useExpands, tmp_useflags[0]) + for _, useflag := range tmp_useflags { + if useflag.Scope == "global" { + globalUseflags = append(globalUseflags, useflag) + } else if useflag.Scope == "local" { + if useflag.Package == gpackage.Atom { + localUseflags = append(localUseflags, useflag) + } + } else { + useExpands = append(useExpands, useflag) + } } } return localUseflags, globalUseflags, useExpands |