feat(cli): company-info 传板块名自动读完整正文(分块循环 + 多服务器重试)

修复体验问题:此前传板块名仍需用户关心 --offset/--length,太笨拙。
现在传板块名即自动按目录 length 分块循环读取整个板块(单次上限 30720 字节,
大板块如「公司大事」77万字节也能一次读全),--offset/--length 仅传文件名时生效。

- _resolve_filename 返回板块 length,_run_content 分块循环读取完整内容
- 修复分块 offset 推进 bug:原按解码字符串 GBK 重编码计字节,遇 U+FFFD 崩溃;
  改为按请求字节数推进(服务器按字节偏移工作)
- 修复多服务器目录版本不一致:传板块名未命中时自动重试多个服务器(最多4次)
- bump 版本号至 1.15.3
This commit is contained in:
Justin Gu
2026-06-27 04:37:44 +08:00
parent 297a479928
commit 3945800728
5 changed files with 114 additions and 49 deletions
+3 -4
View File
@@ -840,14 +840,13 @@ easy-tdx f10 000001 --type llb --table # 平安现金流量表,表格输
```bash
easy-tdx finance-info SH 600519 --table # 最新财务快照(30+ 项单期指标)
easy-tdx company-info SH 600519 # F10 板块目录(最新提示/公司概况/...)
easy-tdx company-info SH 600519 "公司概况" # 读板块正文自动解析板块名→文件
easy-tdx company-info SH 600519 "分红扩股" --length 2048 # 加长读取
easy-tdx company-info SH 600519 600519.txt # 也可直接传文件名
easy-tdx company-info SH 600519 "公司概况" # 读板块完整正文自动解析+读全,无需 offset/length
easy-tdx company-info SH 600519 600519.txt # 也可直接传文件名(此时用 --offset/--length
```
- ``finance-info``:最新一期财务快照,含股本结构、资产负债、利润、现金流、每股指标(37 字段)。与 ``f10`` 互补——前者是单期快照,后者是多期三表。
- ``company-info``:**一个命令两种用法**——无板块名参数列 F10 板块目录,有板块名参数读正文。目录含 16 个板块(最新提示、公司概况、财务分析、股东研究、股本结构、资本运作、业内点评、行业分析、公司大事、研究报告、经营分析、主力追踪、分红扩股、高层治理、龙虎榜单、关联个股)。
- 读正文时 ``name_or_filename`` 既可传板块名(自动定位到该板块起点),也可传文件名;``--offset`` 语义随入参而定(板块名=板块内相对偏移,文件名=文件绝对偏移),``--length`` 控制读取字节数
- 读正文时传板块名即可自动读取完整内容(按目录 length 分块循环,大板块如「公司大事」也能一次读全);``--offset``/``--length`` 仅在传文件名时生效。通达信多服务器目录版本不一致时自动重试命中
### 扩展市场(港股/美股/期货)