From f42cbde6dbc024f737897ced947209bde328dcf2 Mon Sep 17 00:00:00 2001 From: jguer Date: Mon, 9 Aug 2021 13:26:32 +0200 Subject: [PATCH] refactor(parser): unify atleast modes --- clean.go | 4 ++-- cmd.go | 18 +++++++++--------- install.go | 5 +++-- pkg/dep/depPool.go | 2 +- pkg/download/unified.go | 2 +- pkg/query/filter.go | 4 ++-- pkg/settings/parser/target_mode.go | 8 ++++++++ query.go | 12 ++++++------ upgrade.go | 5 ++--- 9 files changed, 34 insertions(+), 26 deletions(-) diff --git a/clean.go b/clean.go index e481f3e9..40d64767 100644 --- a/clean.go +++ b/clean.go @@ -56,14 +56,14 @@ func syncClean(cmdArgs *parser.Arguments, dbExecutor db.Executor) error { } } - if config.Runtime.Mode == parser.ModeRepo || config.Runtime.Mode == parser.ModeAny { + if config.Runtime.Mode.AtLeastRepo() { if err := config.Runtime.CmdBuilder.Show(config.Runtime.CmdBuilder.BuildPacmanCmd( cmdArgs, config.Runtime.Mode, settings.NoConfirm)); err != nil { return err } } - if !(config.Runtime.Mode == parser.ModeAUR || config.Runtime.Mode == parser.ModeAny) { + if !config.Runtime.Mode.AtLeastAUR() { return nil } diff --git a/cmd.go b/cmd.go index fc5c7f02..c92ce61f 100644 --- a/cmd.go +++ b/cmd.go @@ -354,11 +354,11 @@ func displayNumberMenu(pkgS []string, dbExecutor db.Executor, cmdArgs *parser.Ar pkgS = query.RemoveInvalidTargets(pkgS, config.Runtime.Mode) - if config.Runtime.Mode == parser.ModeAUR || config.Runtime.Mode == parser.ModeAny { + if config.Runtime.Mode.AtLeastAUR() { aq, aurErr = narrowSearch(config.Runtime.AURClient, pkgS, true) lenaq = len(aq) } - if config.Runtime.Mode == parser.ModeRepo || config.Runtime.Mode == parser.ModeAny { + if config.Runtime.Mode.AtLeastRepo() { pq = queryRepo(pkgS, dbExecutor) lenpq = len(pq) if repoErr != nil { @@ -372,17 +372,17 @@ func displayNumberMenu(pkgS []string, dbExecutor db.Executor, cmdArgs *parser.Ar switch config.SortMode { case settings.TopDown: - if config.Runtime.Mode == parser.ModeRepo || config.Runtime.Mode == parser.ModeAny { + if config.Runtime.Mode.AtLeastRepo() { pq.printSearch(dbExecutor) } - if config.Runtime.Mode == parser.ModeAUR || config.Runtime.Mode == parser.ModeAny { + if config.Runtime.Mode.AtLeastAUR() { aq.printSearch(lenpq+1, dbExecutor) } case settings.BottomUp: - if config.Runtime.Mode == parser.ModeAUR || config.Runtime.Mode == parser.ModeAny { + if config.Runtime.Mode.AtLeastAUR() { aq.printSearch(lenpq+1, dbExecutor) } - if config.Runtime.Mode == parser.ModeRepo || config.Runtime.Mode == parser.ModeAny { + if config.Runtime.Mode.AtLeastRepo() { pq.printSearch(dbExecutor) } default: @@ -457,13 +457,13 @@ func syncList(httpClient *http.Client, cmdArgs *parser.Arguments, dbExecutor db. aur := false for i := len(cmdArgs.Targets) - 1; i >= 0; i-- { - if cmdArgs.Targets[i] == "aur" && (config.Runtime.Mode == parser.ModeAny || config.Runtime.Mode == parser.ModeAUR) { + if cmdArgs.Targets[i] == "aur" && config.Runtime.Mode.AtLeastAUR() { cmdArgs.Targets = append(cmdArgs.Targets[:i], cmdArgs.Targets[i+1:]...) aur = true } } - if (config.Runtime.Mode == parser.ModeAny || config.Runtime.Mode == parser.ModeAUR) && (len(cmdArgs.Targets) == 0 || aur) { + if config.Runtime.Mode.AtLeastAUR() && (len(cmdArgs.Targets) == 0 || aur) { req, err := http.NewRequestWithContext(context.Background(), "GET", config.AURURL+"/packages.gz", nil) if err != nil { return err @@ -494,7 +494,7 @@ func syncList(httpClient *http.Client, cmdArgs *parser.Arguments, dbExecutor db. } } - if (config.Runtime.Mode == parser.ModeAny || config.Runtime.Mode == parser.ModeRepo) && (len(cmdArgs.Targets) != 0 || !aur) { + if config.Runtime.Mode.AtLeastRepo() && (len(cmdArgs.Targets) != 0 || !aur) { return config.Runtime.CmdBuilder.Show(config.Runtime.CmdBuilder.BuildPacmanCmd( cmdArgs, config.Runtime.Mode, settings.NoConfirm)) } diff --git a/install.go b/install.go index 3ac5c414..859a72b1 100644 --- a/install.go +++ b/install.go @@ -82,7 +82,7 @@ func install(cmdArgs *parser.Arguments, dbExecutor db.Executor, ignoreProviders config.Runtime.CmdBuilder.AddMakepkgFlag("-d") } - if config.Runtime.Mode == parser.ModeAny || config.Runtime.Mode == parser.ModeRepo { + if config.Runtime.Mode.AtLeastRepo() { if config.CombinedUpgrade { if refreshArg { err = earlyRefresh(cmdArgs) @@ -196,7 +196,8 @@ func install(cmdArgs *parser.Arguments, dbExecutor db.Executor, ignoreProviders arguments.AddTarget(pkg) } - if len(do.Aur) == 0 && len(arguments.Targets) == 0 && (!cmdArgs.ExistsArg("u", "sysupgrade") || config.Runtime.Mode == parser.ModeAUR) { + if len(do.Aur) == 0 && len(arguments.Targets) == 0 && + (!cmdArgs.ExistsArg("u", "sysupgrade") || config.Runtime.Mode == parser.ModeAUR) { fmt.Println(gotext.Get(" there is nothing to do")) return nil } diff --git a/pkg/dep/depPool.go b/pkg/dep/depPool.go index c9432f7a..70119b46 100644 --- a/pkg/dep/depPool.go +++ b/pkg/dep/depPool.go @@ -151,7 +151,7 @@ func (dp *Pool) ResolveTargets(pkgs []string, dp.Targets = append(dp.Targets, target) } - if len(aurTargets) > 0 && (mode == parser.ModeAny || mode == parser.ModeAUR) { + if len(aurTargets) > 0 && mode.AtLeastAUR() { return dp.resolveAURPackages(aurTargets, true, ignoreProviders, noConfirm, provides, rebuild, splitN, noDeps, noCheckDeps) } diff --git a/pkg/download/unified.go b/pkg/download/unified.go index 4a54b168..6fc7f900 100644 --- a/pkg/download/unified.go +++ b/pkg/download/unified.go @@ -193,7 +193,7 @@ func getPackageUsableName(dbExecutor DBSearcher, target string, mode parser.Targ aur = true dbName, name := text.SplitDBFromName(target) - if dbName != "aur" && (mode == parser.ModeAny || mode == parser.ModeRepo) { + if dbName != "aur" && mode.AtLeastRepo() { var pkg alpm.IPackage if dbName != "" { pkg = dbExecutor.SatisfierFromDB(name, dbName) diff --git a/pkg/query/filter.go b/pkg/query/filter.go index 8a22106a..4a6ec098 100644 --- a/pkg/query/filter.go +++ b/pkg/query/filter.go @@ -41,12 +41,12 @@ func RemoveInvalidTargets(targets []string, mode parser.TargetMode) []string { for _, target := range targets { dbName, _ := text.SplitDBFromName(target) - if dbName == "aur" && mode == parser.ModeRepo { + if dbName == "aur" && !mode.AtLeastAUR() { text.Warnln(gotext.Get("%s: can't use target with option --repo -- skipping", text.Cyan(target))) continue } - if dbName != "aur" && dbName != "" && mode == parser.ModeAUR { + if dbName != "aur" && dbName != "" && !mode.AtLeastRepo() { text.Warnln(gotext.Get("%s: can't use target with option --aur -- skipping", text.Cyan(target))) continue } diff --git a/pkg/settings/parser/target_mode.go b/pkg/settings/parser/target_mode.go index 61f1a0c7..31925faf 100644 --- a/pkg/settings/parser/target_mode.go +++ b/pkg/settings/parser/target_mode.go @@ -7,3 +7,11 @@ const ( ModeAUR ModeRepo ) + +func (mode TargetMode) AtLeastAUR() bool { + return mode == ModeAny || mode == ModeAUR +} + +func (mode TargetMode) AtLeastRepo() bool { + return mode == ModeAny || mode == ModeRepo +} diff --git a/query.go b/query.go index bc0fec31..c9d3e849 100644 --- a/query.go +++ b/query.go @@ -155,26 +155,26 @@ func syncSearch(pkgS []string, aurClient *aur.Client, dbExecutor db.Executor) (e var aq aurQuery var pq repoQuery - if config.Runtime.Mode == parser.ModeAUR || config.Runtime.Mode == parser.ModeAny { + if config.Runtime.Mode.AtLeastAUR() { aq, aurErr = narrowSearch(aurClient, pkgS, true) } - if config.Runtime.Mode == parser.ModeRepo || config.Runtime.Mode == parser.ModeAny { + if config.Runtime.Mode.AtLeastRepo() { pq = queryRepo(pkgS, dbExecutor) } switch config.SortMode { case settings.TopDown: - if config.Runtime.Mode == parser.ModeRepo || config.Runtime.Mode == parser.ModeAny { + if config.Runtime.Mode.AtLeastRepo() { pq.printSearch(dbExecutor) } - if config.Runtime.Mode == parser.ModeAUR || config.Runtime.Mode == parser.ModeAny { + if config.Runtime.Mode.AtLeastAUR() { aq.printSearch(1, dbExecutor) } case settings.BottomUp: - if config.Runtime.Mode == parser.ModeAUR || config.Runtime.Mode == parser.ModeAny { + if config.Runtime.Mode.AtLeastAUR() { aq.printSearch(1, dbExecutor) } - if config.Runtime.Mode == parser.ModeRepo || config.Runtime.Mode == parser.ModeAny { + if config.Runtime.Mode.AtLeastRepo() { pq.printSearch(dbExecutor) } default: diff --git a/upgrade.go b/upgrade.go index 93c89917..7e34899d 100644 --- a/upgrade.go +++ b/upgrade.go @@ -14,7 +14,6 @@ import ( "github.com/Jguer/yay/v10/pkg/intrange" "github.com/Jguer/yay/v10/pkg/multierror" "github.com/Jguer/yay/v10/pkg/query" - "github.com/Jguer/yay/v10/pkg/settings/parser" "github.com/Jguer/yay/v10/pkg/stringset" "github.com/Jguer/yay/v10/pkg/text" "github.com/Jguer/yay/v10/pkg/upgrade" @@ -48,7 +47,7 @@ func upList(warnings *query.AURWarnings, dbExecutor db.Executor, enableDowngrade } } - if config.Runtime.Mode == parser.ModeAny || config.Runtime.Mode == parser.ModeRepo { + if config.Runtime.Mode.AtLeastRepo() { text.OperationInfoln(gotext.Get("Searching databases for updates...")) wg.Add(1) go func() { @@ -58,7 +57,7 @@ func upList(warnings *query.AURWarnings, dbExecutor db.Executor, enableDowngrade }() } - if config.Runtime.Mode == parser.ModeAny || config.Runtime.Mode == parser.ModeAUR { + if config.Runtime.Mode.AtLeastAUR() { text.OperationInfoln(gotext.Get("Searching AUR for updates...")) var _aurdata []*aur.Pkg