mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-01-11 03:11:50 +00:00
Command aptly repo show.
This commit is contained in:
@@ -13,6 +13,10 @@ import (
|
||||
func ListPackagesRefList(reflist *debian.PackageRefList) (err error) {
|
||||
fmt.Printf("Packages:\n")
|
||||
|
||||
if reflist == nil {
|
||||
return
|
||||
}
|
||||
|
||||
packageCollection := debian.NewPackageCollection(context.database)
|
||||
|
||||
err = reflist.ForEach(func(key []byte) error {
|
||||
|
||||
@@ -11,6 +11,7 @@ func makeCmdRepo() *commander.Command {
|
||||
Short: "manage local package repositories",
|
||||
Subcommands: []*commander.Command{
|
||||
makeCmdRepoCreate(),
|
||||
makeCmdRepoShow(),
|
||||
},
|
||||
Flag: *flag.NewFlagSet("aptly-repo", flag.ExitOnError),
|
||||
}
|
||||
|
||||
59
cmd/repo_show.go
Normal file
59
cmd/repo_show.go
Normal file
@@ -0,0 +1,59 @@
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/gonuts/commander"
|
||||
"github.com/gonuts/flag"
|
||||
"github.com/smira/aptly/debian"
|
||||
)
|
||||
|
||||
func aptlyRepoShow(cmd *commander.Command, args []string) error {
|
||||
var err error
|
||||
if len(args) != 1 {
|
||||
cmd.Usage()
|
||||
return err
|
||||
}
|
||||
|
||||
name := args[0]
|
||||
|
||||
localRepoCollection := debian.NewLocalRepoCollection(context.database)
|
||||
repo, err := localRepoCollection.ByName(name)
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to show: %s", err)
|
||||
}
|
||||
|
||||
err = localRepoCollection.LoadComplete(repo)
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to show: %s", err)
|
||||
}
|
||||
|
||||
fmt.Printf("Name: %s\n", repo.Name)
|
||||
fmt.Printf("Comment: %s\n", repo.Comment)
|
||||
fmt.Printf("Number of packages: %d\n", repo.NumPackages())
|
||||
|
||||
withPackages := cmd.Flag.Lookup("with-packages").Value.Get().(bool)
|
||||
if withPackages {
|
||||
ListPackagesRefList(repo.RefList())
|
||||
}
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
func makeCmdRepoShow() *commander.Command {
|
||||
cmd := &commander.Command{
|
||||
Run: aptlyRepoShow,
|
||||
UsageLine: "show <name>",
|
||||
Short: "show details about local repository",
|
||||
Long: `
|
||||
Show shows full information about local package repository.
|
||||
|
||||
ex:
|
||||
$ aptly repo show testing
|
||||
`,
|
||||
Flag: *flag.NewFlagSet("aptly-repo-show", flag.ExitOnError),
|
||||
}
|
||||
|
||||
cmd.Flag.Bool("with-packages", false, "show list of packages")
|
||||
|
||||
return cmd
|
||||
}
|
||||
3
system/t09_repo/CreateRepo1Test_repo_show
Normal file
3
system/t09_repo/CreateRepo1Test_repo_show
Normal file
@@ -0,0 +1,3 @@
|
||||
Name: repo1
|
||||
Comment:
|
||||
Number of packages: 0
|
||||
3
system/t09_repo/CreateRepo2Test_repo_show
Normal file
3
system/t09_repo/CreateRepo2Test_repo_show
Normal file
@@ -0,0 +1,3 @@
|
||||
Name: repo2
|
||||
Comment: Repository2
|
||||
Number of packages: 0
|
||||
3
system/t09_repo/ShowRepo1Test_gold
Normal file
3
system/t09_repo/ShowRepo1Test_gold
Normal file
@@ -0,0 +1,3 @@
|
||||
Name: repo1
|
||||
Comment: Cool
|
||||
Number of packages: 0
|
||||
4
system/t09_repo/ShowRepo2Test_gold
Normal file
4
system/t09_repo/ShowRepo2Test_gold
Normal file
@@ -0,0 +1,4 @@
|
||||
Name: repo2
|
||||
Comment: Cool
|
||||
Number of packages: 0
|
||||
Packages:
|
||||
1
system/t09_repo/ShowRepo3Test_gold
Normal file
1
system/t09_repo/ShowRepo3Test_gold
Normal file
@@ -0,0 +1 @@
|
||||
ERROR: unable to show: local repo with name repo3 not found
|
||||
@@ -3,3 +3,4 @@ Testing local repo management
|
||||
"""
|
||||
|
||||
from .create import *
|
||||
from .show import *
|
||||
|
||||
@@ -9,7 +9,7 @@ class CreateRepo1Test(BaseTest):
|
||||
|
||||
def check(self):
|
||||
self.check_output()
|
||||
#self.check_cmd_output("aptly mirror show mirror1", "mirror_show")
|
||||
self.check_cmd_output("aptly repo show repo1", "repo_show")
|
||||
|
||||
|
||||
class CreateRepo2Test(BaseTest):
|
||||
@@ -20,7 +20,7 @@ class CreateRepo2Test(BaseTest):
|
||||
|
||||
def check(self):
|
||||
self.check_output()
|
||||
#self.check_cmd_output("aptly mirror show mirror1", "mirror_show")
|
||||
self.check_cmd_output("aptly repo show repo2", "repo_show")
|
||||
|
||||
|
||||
class CreateRepo3Test(BaseTest):
|
||||
|
||||
25
system/t09_repo/show.py
Normal file
25
system/t09_repo/show.py
Normal file
@@ -0,0 +1,25 @@
|
||||
from lib import BaseTest
|
||||
|
||||
|
||||
class ShowRepo1Test(BaseTest):
|
||||
"""
|
||||
show local repo: regular
|
||||
"""
|
||||
fixtureCmds = ["aptly repo create -comment=Cool repo1"]
|
||||
runCmd = "aptly repo show repo1"
|
||||
|
||||
|
||||
class ShowRepo2Test(BaseTest):
|
||||
"""
|
||||
show local repo: -with-packages
|
||||
"""
|
||||
fixtureCmds = ["aptly repo create -comment=Cool repo2"]
|
||||
runCmd = "aptly repo show -with-packages repo2"
|
||||
|
||||
|
||||
class ShowRepo3Test(BaseTest):
|
||||
"""
|
||||
show local repo: not found
|
||||
"""
|
||||
expectedCode = 1
|
||||
runCmd = "aptly repo show repo3"
|
||||
Reference in New Issue
Block a user