mirror of
https://github.com/0xrsydn/idx-cli.git
synced 2026-11-07 09:45:36 +00:00
Since June 2026 IDX publishes the monthly "Pemegang Saham di Atas 1%" list as an XLSX workbook on the Data Kepemilikan Saham page instead of a PDF announcement. Add a parser for it and accept `.xlsx` in `ownership import --file`. - src/ownership/xlsx.rs: zip + quick-xml reader (shared strings incl. rich text, sheet cells), exact 12-column header match so the daily above-5% and investor-type/classification workbooks are rejected, Excel serial dates, numeric shares, percent -> bps with float-noise rounding. Builds KseiHoldingDraft directly and reuses the entity normalizers, so investor types stay uppercase like the PDF path. - Fixtures: trimmed excerpts of the real 2026-08-31 above-1% and 2026-09-23 above-5% workbooks. - Unit + CLI tests: import, ticker, releases, above-5% rejection. - Docs: ARCHITECTURE parser pipeline, AGENTS ownership inputs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017a5Cv5Z1NzdYKgKnTiAF4E |
||
|---|---|---|
| .. | ||
| bing_buyers_bbca.json | ||
| bing_holders_bbca.json | ||
| chart_bbca_1d.json | ||
| chart_bbca_3mo.json | ||
| chart_bbca_with_gap.json | ||
| idx_announcement_kepemilikan.json | ||
| ksei_above1_20260831_excerpt.xlsx | ||
| ksei_above1_spaced_stext_excerpt.xml | ||
| ksei_above1_stext_excerpt.xml | ||
| ksei_above1_stext_excerpt_prev.xml | ||
| ksei_above5_20260923_excerpt.xlsx | ||
| ksei_above5_stext_excerpt.xml | ||
| ksei_announcement_wrapper_stext_excerpt.xml | ||
| ksei_balancepos_20260130_excerpt.txt | ||
| ksei_balancepos_20260227_excerpt.txt | ||
| ksei_investor_type_stext_excerpt.xml | ||
| ksei_stext_sample.xml | ||
| msn_chart_bbca_3m.json | ||
| msn_chart_bbca_3mo.json | ||
| msn_earnings_bbca.json | ||
| msn_financials_bbca.json | ||
| msn_insights_bbca.json | ||
| msn_keyratios_bbca.json | ||
| msn_keyratios_industry_only.json | ||
| msn_keyratios_infinity.json | ||
| msn_keyratios_negative_infinity.json | ||
| msn_news_bbca.json | ||
| msn_profile_bbca.json | ||
| msn_quote_bbca.json | ||
| msn_screener_id_topperfs.json | ||
| msn_sentiment_bbca.json | ||
| quotesummary_bbca.json | ||