Add TEMPORARY sshyp-sync shim so that MUTN can be tested while native sync is under development

This commit is contained in:
2024-03-07 20:35:24 -05:00
parent 7d5c960fcb
commit 8f315fe587
2 changed files with 17 additions and 4 deletions
+8 -3
View File
@@ -9,7 +9,7 @@ import (
const ansiShownPassword = "\033[38;5;10m"
// EntryReader prints the decrypted contents of a libmutton entry in a human-readable format
func EntryReader(decryptedEntry []string, hidePassword bool) {
func EntryReader(decryptedEntry []string, hidePassword bool, sync bool) {
fmt.Println()
// track if extended notes have been printed (to avoid printing an extra newline)
@@ -67,13 +67,18 @@ func EntryReader(decryptedEntry []string, hidePassword bool) {
if notesFlag {
fmt.Println()
}
if sync {
SshypSync() // TODO Remove after native sync is implemented
}
os.Exit(0)
}
// EntryReaderShortcut is a shortcut for EntryReader that decrypts a GPG-encrypted file and prints the contents
func EntryReaderShortcut(targetLocation string, hidePassword bool) {
func EntryReaderShortcut(targetLocation string, hidePassword bool, sync bool) {
if isFile, _ := offline.TargetIsFile(targetLocation, true, 2); isFile {
EntryReader(offline.DecryptGPG(targetLocation), hidePassword)
EntryReader(offline.DecryptGPG(targetLocation), hidePassword, sync)
}
// do not exit, as this is the job of EntryReader
}
+9 -1
View File
@@ -6,9 +6,17 @@ import (
"github.com/rwinkhart/MUTN/src/offline"
"golang.org/x/crypto/ssh/terminal"
"os"
"os/exec"
"strings"
)
// TODO remove after native sync is implemented
func SshypSync() {
cmd := exec.Command("sshyp", "sync")
cmd.Stdout = os.Stdout
cmd.Run()
}
// input prompts the user for input and returns the input as a string
func input(prompt string) string {
fmt.Print("\n" + prompt + " ")
@@ -56,7 +64,7 @@ func writeEntryShortcut(targetLocation string, unencryptedEntry []string, hidePa
trimmedEntry := offline.RemoveTrailingEmptyStrings(unencryptedEntry)
offline.WriteEntry(targetLocation, trimmedEntry)
fmt.Println(ansiBold + "\nEntry Preview:" + offline.AnsiReset)
EntryReader(trimmedEntry, hidePassword)
EntryReader(trimmedEntry, hidePassword, true)
} else {
fmt.Println(offline.AnsiError + "No data supplied for entry" + offline.AnsiReset)
os.Exit(1)