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) {
|
||||
deltas = slices.Clone(deltas)
|
||||
dates := append([]string{delta.Date}, delta.OtherDates...)
|
||||
@@ -422,9 +423,16 @@ func Main() {
|
||||
matches = matches.Like(func(delta ledger.Delta) bool {
|
||||
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)
|
||||
}), dates
|
||||
})
|
||||
for _, match := range matches {
|
||||
if _, ok := matched[match.ID()]; !ok {
|
||||
matched[match.ID()] = struct{}{}
|
||||
break
|
||||
}
|
||||
}
|
||||
return matches, dates
|
||||
}
|
||||
|
||||
datesMatched := []string{}
|
||||
@@ -466,6 +474,17 @@ func Main() {
|
||||
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:
|
||||
log.Fatalf("unknown command %q", positional[0])
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user