Mercurial > go > multipass
view multipass-remove.go @ 12:1c194fa9bbf4
Fix auth tests.
author | Paul Fisher <paul@pfish.zone> |
---|---|
date | Thu, 29 Oct 2015 21:25:12 -0400 |
parents | e246c8a4d28e |
children |
line wrap: on
line source
// multipass-remove allows a user to remove an entry from their multipass database. package main import ( "bufio" "fmt" "os" "strconv" "pfish.zone/go/multipass/file" ) func main() { passfile, err := file.ForMe() if err != nil { fmt.Println(err.Error()) os.Exit(1) } fmt.Println("Choose a password to remove:") reader := bufio.NewReader(os.Stdin) entries, err := passfile.AllEntries() for i, entry := range entries { fmt.Printf("%2d: %s\n", i+1, entry.Description()) } fmt.Print("Enter the number to remove: ") text, err := reader.ReadString('\n') if err != nil { fmt.Println(err.Error()) os.Exit(1) } picked, err := strconv.Atoi(text[:len(text)-1]) if err != nil { fmt.Println("Not a valid number") os.Exit(1) } picked -= 1 if picked < 0 || len(entries) <= picked { fmt.Println("Not a valid selection") os.Exit(1) } if err := passfile.Remove(entries[picked].ID()); err != nil { fmt.Printf("Couldn't remove password: %s\n", err.Error()) os.Exit(1) } fmt.Println("Removed password entry.") }