12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package query
- import (
- "github.com/leonelquinteros/gotext"
- "github.com/Jguer/yay/v10/pkg/db"
- "github.com/Jguer/yay/v10/pkg/settings"
- "github.com/Jguer/yay/v10/pkg/text"
- )
- // GetPackageNamesBySource returns package names with and without correspondence in SyncDBS respectively
- func GetPackageNamesBySource(dbExecutor db.Executor) (local, remote []string, err error) {
- for _, localpkg := range dbExecutor.LocalPackages() {
- pkgName := localpkg.Name()
- if dbExecutor.SyncPackage(pkgName) != nil {
- local = append(local, pkgName)
- } else {
- remote = append(remote, pkgName)
- }
- }
- return local, remote, err
- }
- // GetRemotePackages returns packages with no correspondence in SyncDBS.
- func GetRemotePackages(dbExecutor db.Executor) (
- remote []db.IPackage,
- remoteNames []string) {
- for _, localpkg := range dbExecutor.LocalPackages() {
- pkgName := localpkg.Name()
- if dbExecutor.SyncPackage(pkgName) == nil {
- remote = append(remote, localpkg)
- remoteNames = append(remoteNames, pkgName)
- }
- }
- return remote, remoteNames
- }
- func RemoveInvalidTargets(targets []string, mode settings.TargetMode) []string {
- filteredTargets := make([]string, 0)
- for _, target := range targets {
- dbName, _ := text.SplitDBFromName(target)
- if dbName == "aur" && mode == settings.ModeRepo {
- text.Warnln(gotext.Get("%s: can't use target with option --repo -- skipping", text.Cyan(target)))
- continue
- }
- if dbName != "aur" && dbName != "" && mode == settings.ModeAUR {
- text.Warnln(gotext.Get("%s: can't use target with option --aur -- skipping", text.Cyan(target)))
- continue
- }
- filteredTargets = append(filteredTargets, target)
- }
- return filteredTargets
- }
|