Skip spin off actions (#32)
Badges / coveralls (push) Successful in 30s

Reviewed-on: #32
Co-authored-by: Natercio Moniz <[email protected]>
This commit was merged in pull request #32.
This commit is contained in:
2026-09-06 21:44:21 +01:00
committed by natercio
parent ccef829832
commit 6c989c338c
2 changed files with 49 additions and 5 deletions
+18 -5
View File
@@ -89,6 +89,7 @@ const (
StockSplitOpen = "stock split open"
StockSplitClose = "stock split close"
StokDistribution = "stock distribution"
SpinOff = "spin off"
)
func (rr RecordReader) ReadRecord(ctx context.Context) (internal.Record, error) {
@@ -104,6 +105,8 @@ func (rr RecordReader) ReadRecord(ctx context.Context) (internal.Record, error)
continue
}
symbol := raw[2]
qant, err := parseDecimal(raw[6])
if err != nil {
return Record{}, fmt.Errorf("parse record quantity: %w", err)
@@ -147,14 +150,14 @@ func (rr RecordReader) ReadRecord(ctx context.Context) (internal.Record, error)
splitRec = &splitRecord{
Record: Record{
symbol: raw[2],
symbol: symbol,
kind: internal.KindSplit,
quantity: qant,
price: price,
fees: conversionFee,
taxes: stampDutyTax.Add(frenchTxTax),
timestamp: ts,
natureGetter: figiNatureGetter(ctx, rr.figi, raw[2]),
natureGetter: figiNatureGetter(ctx, rr.figi, symbol),
},
}
@@ -168,7 +171,17 @@ func (rr RecordReader) ReadRecord(ctx context.Context) (internal.Record, error)
return splitRec, nil
case StokDistribution:
slog.Warn("Found stock distribution but can't handle it")
slog.Warn("Skipping 'stock distribution' event!",
slog.Any("ISIN", symbol),
slog.Any("Quantity", qant),
)
continue
case SpinOff:
slog.Warn("Skipping 'spin off' event!",
slog.Any("ISIN", symbol),
slog.Any("Quantity", qant),
)
continue
default:
@@ -176,14 +189,14 @@ func (rr RecordReader) ReadRecord(ctx context.Context) (internal.Record, error)
}
return Record{
symbol: raw[2],
symbol: symbol,
kind: kind,
quantity: qant,
price: price,
fees: conversionFee,
taxes: stampDutyTax.Add(frenchTxTax),
timestamp: ts,
natureGetter: figiNatureGetter(ctx, rr.figi, raw[2]),
natureGetter: figiNatureGetter(ctx, rr.figi, symbol),
}, nil
}
}