view multipass-add.go @ 15:9b4ec6b5c23e

Add tests for multipass files.
author Paul Fisher <paul@pfish.zone>
date Thu, 29 Oct 2015 23:56:53 -0400
parents 1246b4b9028b
children
line wrap: on
line source

// multipass-add allows a user to add an entry to their multipass database.

package main

import (
	"bufio"
	"fmt"
	"os"

	"pfish.zone/go/multipass/auth"
	"pfish.zone/go/multipass/file"
)

func main() {
	passfile, err := file.ForMe()
	if err != nil {
		fmt.Println(err.Error())
		os.Exit(1)
	}
	reader := bufio.NewReader(os.Stdin)
	fmt.Print("Describe password: ")
	text, err := reader.ReadString('\n')
	if err != nil {
		fmt.Println(err.Error())
		os.Exit(1)
	}
	text = text[:len(text)-1]
	entry, password, err := auth.NewEntry(text)
	if err != nil {
		fmt.Println(err.Error())
		os.Exit(1)
	}
	err = passfile.Add(entry)
	if err != nil {
		fmt.Println("Couldn't create a password:")
		fmt.Println(err.Error())
		os.Exit(1)
	}
	fmt.Printf("New password: %s\n", password)
}