Skip to content

fix: stock-unlock handler 把 --stock-code 设为必填,无法按日期区间查全市场解禁 #23

Description

@wyxiong431

问题
ftshare-market-data/sub-skills/stock-unlock/scripts/handler.py(upstream main @ ba2e965):
parser.add_argument("--stock_code") # L23
parser.add_argument("--start_date") # L24
parser.add_argument("--end_date") # L25
...
parser.add_argument("--stock-code", required=True) # L28
L28 的 required=True 导致不传 --stock-code 就无法调用。但接口本身接受「stock_code」或「start_date + end_date」二选一(服务端报错原文见下),所以 handler 做不了"按日期区间查全市场解禁日历"这个主要用法,和 #19(stock-limit --symbol 必填)是同一类问题。

实测证据(2026-09-23,免费额度 key)
$ python run.py stock-unlock --start_date 20260901 --end_date 20260930
handler.py: error: the following arguments are required: --stock-code (exit 2)

直连 GET /api/v1/market/data/unlock/stock_unlock:
?start_date=20260901&end_date=20260930 → 200,total=250(214 只),unlockDate 全在 2026-09-01..09-30
?start_date=20261001&end_date=20261031 → 200,total=143(135 只),unlockDate ∈ 2026-10-08..10-30
?start_date=2026-09-01&end_date=2026-09-30 → 200,total=250(两种日期格式都收)
?start_date=20260901 → 400 {"code":400,"message":"start_date 和 end_date 必须同时传入","data":null}
(三个参数都不传) → 400 {"code":400,"message":"必须传 stock_code,或同时传入 start_date 和 end_date","data":null}
?stock_code=000001 → 200,total=6
日期区间确实生效:9 月和 10 月的结果不同,且日期都落在各自区间内。服务端的报错信息也写明了二选一的规则。

顺带两个小问题
$ python run.py stock-unlock --stock_code 000001
handler.py: error: the following arguments are required: --stock-code (exit 2)
--stock_code(L23)和 --stock-code(L28)的 dest 相同,--help 里两个都列了出来,但只有连字符版能用:
L31 和 L36 重复写了同一句 params["stock_code"] = args.stock_code。
建议修复
parser.add_argument("--stock-code", "--stock_code", dest="stock_code")
parser.add_argument("--start_date")
parser.add_argument("--end_date")
parser.add_argument("--page")
parser.add_argument("--page_size")
args = parser.parse_args()
if not args.stock_code and not (args.start_date and args.end_date):
parser.error("必须传 --stock-code,或同时传入 --start_date 和 --end_date")
合并成一个 flag(两种写法都认),并在客户端做和服务端一样的二选一校验:

删掉 L36 的重复赋值,并在 SKILL.md 补一条全市场示例:
python <RUN_PY> stock-unlock --start_date 20260901 --end_date 20260930 --page 1 --page_size 100
环境
upstream main @ ba2e965(2026-09-22)· 免费额度 API key · 2026-09-23 实测

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions