Sort package lists when searching or showing objects

Fixes #135
Fixes #214
This commit is contained in:
Andrey Smirnov
2017-05-04 23:47:05 +03:00
parent 33357c1fe4
commit 589dc93380
58 changed files with 640807 additions and 640872 deletions
+10 -14
View File
@@ -22,26 +22,22 @@ func ListPackagesRefList(reflist *deb.PackageRefList) (err error) {
return
}
err = reflist.ForEach(func(key []byte) error {
p, err2 := context.CollectionFactory().PackageCollection().ByKey(key)
if err2 != nil {
return err2
}
fmt.Printf(" %s\n", p)
return nil
})
list, err := deb.NewPackageListFromRefList(reflist, context.CollectionFactory().PackageCollection(), context.Progress())
if err != nil {
return fmt.Errorf("unable to load packages: %s", err)
}
return
return PrintPackageList(list, "", " ")
}
// PrintPackageList shows package list with specified format or default representation
func PrintPackageList(result *deb.PackageList, format string) error {
func PrintPackageList(result *deb.PackageList, format, prefix string) error {
result.PrepareIndex()
if format == "" {
return result.ForEach(func(p *deb.Package) error {
context.Progress().Printf("%s\n", p)
return result.ForEachIndexed(func(p *deb.Package) error {
context.Progress().Printf(prefix+"%s\n", p)
return nil
})
}
@@ -51,13 +47,13 @@ func PrintPackageList(result *deb.PackageList, format string) error {
return fmt.Errorf("error parsing -format template: %s", err)
}
return result.ForEach(func(p *deb.Package) error {
return result.ForEachIndexed(func(p *deb.Package) error {
b := &bytes.Buffer{}
err = formatTemplate.Execute(b, p.ExtendedStanza())
if err != nil {
return fmt.Errorf("error applying template: %s", err)
}
context.Progress().Printf("%s\n", b.String())
context.Progress().Printf(prefix+"%s\n", b.String())
return nil
})
+1 -1
View File
@@ -35,7 +35,7 @@ func aptlyPackageSearch(cmd *commander.Command, args []string) error {
}
format := context.Flags().Lookup("format").Value.String()
PrintPackageList(result, format)
PrintPackageList(result, format, "")
return err
}
+1 -1
View File
@@ -113,7 +113,7 @@ func aptlySnapshotMirrorRepoSearch(cmd *commander.Command, args []string) error
}
format := context.Flags().Lookup("format").Value.String()
PrintPackageList(result, format)
PrintPackageList(result, format, "")
return err
}