Esempio n. 1
0
// RenameCommand renames a Note
func RenameCommand(c *cli.Context, i storage.Impl) (nName string, newName string, err error) {
	nName, err = NoteName(c)
	if err != nil {
		return nName, newName, err
	}

	n, err := i.LoadNote(nName)
	if err != nil {
		return nName, newName, err
	}

	reader := bufio.NewReader(os.Stdin)
	fmt.Print(fmt.Sprintf("Rename note '%s' to: ", n.Name))
	newName, err = reader.ReadString('\n')
	if err != nil {
		return nName, newName, err
	}

	newName = strings.Trim(newName, "\n")

	if newName == "" {
		return nName, newName, errors.New("Note name can't be blank")
	}

	if i.NoteExists(newName) == true {
		return nName, newName, fmt.Errorf("Note '%s' already exists", newName)
	}

	if err = i.RenameNote(n.ID, newName); err != nil {
		return nName, newName, fmt.Errorf("Failed to rename note '%s' to '%s'.", nName, newName)
	}

	return nName, newName, nil
}
Esempio n. 2
0
// InfoCommand shows information about a Note
func InfoCommand(c *cli.Context, i storage.Impl) (n storage.Note, err error) {
	nName, err := NoteName(c)
	if err != nil {
		return storage.Note{}, err
	}

	n, err = i.LoadNote(nName)
	if err != nil {
		return storage.Note{}, err
	}

	return n, nil
}
Esempio n. 3
0
// DeleteCommand deletes a Note
func DeleteCommand(c *cli.Context, i storage.Impl) (n storage.Note, err error) {
	nName, err := NoteName(c)
	if err != nil {
		return n, err
	}

	n, err = i.LoadNote(nName)
	if err != nil {
		return n, err
	}

	if i.DeleteNote(n) != nil {
		return n, err
	}

	return n, nil
}
Esempio n. 4
0
// ReadCommand reads a Note
func ReadCommand(c *cli.Context, i storage.Impl) (err error) {
	nName, err := NoteName(c)
	if err != nil {
		return err
	}

	n, err := i.LoadNote(nName)
	if err != nil {
		return err
	}

	if err := reader.ReadNote(n); err != nil {
		return err
	}

	return nil
}
Esempio n. 5
0
// KeepCommand keeps/unkeeps a Note
func KeepCommand(c *cli.Context, i storage.Impl, k bool) (n storage.Note, err error) {
	nName, err := NoteName(c)
	if err != nil {
		return n, err
	}

	n, err = i.LoadNote(nName)
	if err != nil {
		return n, err
	}

	n.Temporary = !k
	if err := i.SaveNote(&n); err != nil {
		return n, err
	}

	return n, err
}
Esempio n. 6
0
// ShareCommand shares a Note
func ShareCommand(c *cli.Context, i storage.Impl) (n storage.Note, url string, err error) {
	nName, err := NoteName(c)
	if err != nil {
		return n, url, err
	}

	n, err = i.LoadNote(nName)
	if err != nil {
		return n, url, err
	}

	url, err = reader.ShareNote(n, "http://hastebin.com/documents")

	if err != nil {
		return n, url, err
	}

	return n, url, nil
}
Esempio n. 7
0
// EditCommand edits a Note
func EditCommand(c *cli.Context, i storage.Impl) (n storage.Note, err error) {
	nName, err := NoteName(c)
	if err != nil {
		return n, err
	}

	n, err = i.LoadNote(nName)
	if err != nil {
		return n, err
	}

	if err := writer.WriteNote(&n); err != nil {
		return n, err
	}

	if err := i.SaveNote(&n); err != nil {
		return n, err
	}

	return n, nil

}