This commit is contained in:
@@ -410,6 +410,7 @@ func Main() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
matched := map[string]struct{}{}
|
||||||
matchies := func(deltas ledger.Deltas, delta ledger.Delta) (ledger.Deltas, []string) {
|
matchies := func(deltas ledger.Deltas, delta ledger.Delta) (ledger.Deltas, []string) {
|
||||||
deltas = slices.Clone(deltas)
|
deltas = slices.Clone(deltas)
|
||||||
dates := append([]string{delta.Date}, delta.OtherDates...)
|
dates := append([]string{delta.Date}, delta.OtherDates...)
|
||||||
@@ -422,9 +423,16 @@ func Main() {
|
|||||||
matches = matches.Like(func(delta ledger.Delta) bool {
|
matches = matches.Like(func(delta ledger.Delta) bool {
|
||||||
return delta.Currency == ledger.USD
|
return delta.Currency == ledger.USD
|
||||||
})
|
})
|
||||||
return matches.Like(func(d2 ledger.Delta) bool {
|
matches = matches.Like(func(d2 ledger.Delta) bool {
|
||||||
return fmt.Sprintf("%.2f", d2.Value) == fmt.Sprintf("%.2f", delta.Value)
|
return fmt.Sprintf("%.2f", d2.Value) == fmt.Sprintf("%.2f", delta.Value)
|
||||||
}), dates
|
})
|
||||||
|
for _, match := range matches {
|
||||||
|
if _, ok := matched[match.ID()]; !ok {
|
||||||
|
matched[match.ID()] = struct{}{}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return matches, dates
|
||||||
}
|
}
|
||||||
|
|
||||||
datesMatched := []string{}
|
datesMatched := []string{}
|
||||||
@@ -466,6 +474,17 @@ func Main() {
|
|||||||
fmt.Printf("unique to ledger | %s %s %.2f\n", strings.Join(dates, "="), delta.Description, delta.Value)
|
fmt.Printf("unique to ledger | %s %s %.2f\n", strings.Join(dates, "="), delta.Description, delta.Value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for _, delta := range deltas {
|
||||||
|
if _, ok := matched[delta.ID()]; !ok {
|
||||||
|
fmt.Printf("unmatched ledger | %s %s %.2f\n", delta.Date, delta.Description, delta.Value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for _, delta := range csvDeltas {
|
||||||
|
if _, ok := matched[delta.ID()]; !ok {
|
||||||
|
fmt.Printf("unmatched csv | %s %s %.2f\n", delta.Date, delta.Description, delta.Value)
|
||||||
|
}
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
log.Fatalf("unknown command %q", positional[0])
|
log.Fatalf("unknown command %q", positional[0])
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user