A bit of niceness: more hints for first-time user.

This commit is contained in:
Andrey Smirnov
2014-01-10 13:21:37 +04:00
parent 356187f3ae
commit 01338d6037
6 changed files with 40 additions and 16 deletions

View File

@@ -15,15 +15,19 @@ func aptlyMirrorList(cmd *commander.Command, args []string) error {
return err
}
fmt.Printf("List of mirrors:\n")
repoCollection := debian.NewRemoteRepoCollection(context.database)
repoCollection.ForEach(func(repo *debian.RemoteRepo) error {
fmt.Printf(" * %s\n", repo)
return nil
})
fmt.Printf("\nTo get more information about repository, run `aptly mirror show <name>`.\n")
if repoCollection.Len() > 0 {
fmt.Printf("List of mirrors:\n")
repoCollection.ForEach(func(repo *debian.RemoteRepo) error {
fmt.Printf(" * %s\n", repo)
return nil
})
fmt.Printf("\nTo get more information about repository, run `aptly mirror show <name>`.\n")
} else {
fmt.Printf("No mirrors found, create one with `aptly mirror create ...`.\n")
}
return err
}

View File

@@ -53,16 +53,21 @@ func aptlySnapshotList(cmd *commander.Command, args []string) error {
return err
}
fmt.Printf("List of snapshots:\n")
snapshotCollection := debian.NewSnapshotCollection(context.database)
snapshotCollection.ForEach(func(snapshot *debian.Snapshot) error {
fmt.Printf(" * %s\n", snapshot)
return nil
})
fmt.Printf("\nTo get more information about snapshot, run `aptly snapshot show <name>`.\n")
if snapshotCollection.Len() > 0 {
fmt.Printf("List of snapshots:\n")
snapshotCollection.ForEach(func(snapshot *debian.Snapshot) error {
fmt.Printf(" * %s\n", snapshot)
return nil
})
fmt.Printf("\nTo get more information about snapshot, run `aptly snapshot show <name>`.\n")
} else {
fmt.Printf("\nNo snapshots found, create one with `aptly snapshot create...`.\n")
}
return err
}
func aptlySnapshotShow(cmd *commander.Command, args []string) error {

5
debian/remote.go vendored
View File

@@ -358,3 +358,8 @@ func (collection *RemoteRepoCollection) ForEach(handler func(*RemoteRepo) error)
}
return err
}
// Len returns number of remote repos
func (collection *RemoteRepoCollection) Len() int {
return len(collection.list)
}

View File

@@ -219,7 +219,7 @@ func (s *RemoteRepoCollectionSuite) TestUpdateLoadComplete(c *C) {
c.Assert(r.NumPackages(), Equals, 3)
}
func (s *RemoteRepoCollectionSuite) TestForEach(c *C) {
func (s *RemoteRepoCollectionSuite) TestForEachAndLen(c *C) {
repo, _ := NewRemoteRepo("yandex", "http://mirror.yandex.ru/debian/", "squeeze", []string{"main"}, []string{})
s.collection.Add(repo)
@@ -231,6 +231,8 @@ func (s *RemoteRepoCollectionSuite) TestForEach(c *C) {
c.Assert(count, Equals, 1)
c.Assert(err, IsNil)
c.Check(s.collection.Len(), Equals, 1)
e := errors.New("c")
err = s.collection.ForEach(func(*RemoteRepo) error {

6
debian/snapshot.go vendored
View File

@@ -172,3 +172,9 @@ func (collection *SnapshotCollection) ForEach(handler func(*Snapshot) error) err
}
return err
}
// Len returns number of snapshots in collection
// ForEach runs method for each snapshot
func (collection *SnapshotCollection) Len() int {
return len(collection.list)
}

View File

@@ -112,7 +112,7 @@ func (s *SnapshotCollectionSuite) TestUpdateLoadComplete(c *C) {
c.Assert(snapshot.NumPackages(), Equals, 3)
}
func (s *SnapshotCollectionSuite) TestForEach(c *C) {
func (s *SnapshotCollectionSuite) TestForEachAndLen(c *C) {
s.collection.Add(s.snapshot1)
s.collection.Add(s.snapshot2)
@@ -124,6 +124,8 @@ func (s *SnapshotCollectionSuite) TestForEach(c *C) {
c.Assert(count, Equals, 2)
c.Assert(err, IsNil)
c.Check(s.collection.Len(), Equals, 2)
e := errors.New("d")
err = s.collection.ForEach(func(*Snapshot) error {
return e