From 0f58a1882550a383b28b198e206d91333911c4c3 Mon Sep 17 00:00:00 2001 From: Jon Banafato Date: Sun, 5 Apr 2020 23:43:22 -0400 Subject: [PATCH] Add ledger binary command line flag Allow the ledger binary used to be specified by the user. Journal syntax is not 100% compatible across implementations, so supporting others (e.g. hledger) make the updater work for those users' journals. --- main.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index c1b6961..45b4e00 100644 --- a/main.go +++ b/main.go @@ -13,11 +13,12 @@ import ( ) func main() { + ledgerBinary := flag.String("b", "ledger", "Ledger Binary") ledgerFile := flag.String("f", "ledger.ledger", "Ledger File") priceDbFile := flag.String("p", "prices.db", "Price Database File") flag.Parse() - commodities := GetCommodities(*ledgerFile) + commodities := GetCommodities(*ledgerFile, *ledgerBinary) pricedb, err := os.OpenFile(*priceDbFile, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) if err != nil { @@ -62,8 +63,8 @@ func GetTimeString() string { return time.Now().Format("2006-01-02 15:04:05") } -func GetCommodities(ledger string) []string { - cmd := exec.Command("ledger", "-f", ledger, "commodities") +func GetCommodities(ledger string, binary string) []string { + cmd := exec.Command(binary, "-f", ledger, "commodities") out, err := cmd.Output() if err != nil { log.Fatalf("Ledger file commodity report failed with %s\n", err)