Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

FileNotFoundErrors from ModResourceLoader now end with .yaml instead of .json

未关闭
#106 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
55/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
冷清
技术栈
python
领域
tooling

调研方向

Start with src/hexdoc/core/loader.py, especially ModResourceLoader.find_resource, which the traceback shows raising the FileNotFoundError; compare how it determines resource paths and extensions. The example is a missing recipe path ending in .yaml, while the title says these errors should end in .json. Confirm the expected extension behavior and add or run a focused test for the reported case; done means the error path matches the expected extension.

由索引模型根据 Issue 内容生成。

描述

For example:

│ C:\Users\object\Git\hexdoc\src\hexdoc\minecraft\recipe\recipes.py:74 in load_resource                                       │
│                                                                                                                             │
│    71 │                                                                                                                     │
│    72 │   @classmethod                                                                                                      │
│    73 │   def load_resource(cls, id: ResourceLocation, loader: ModResourceLoader):                                          │
│ ❱  74 │   │   return loader.load_resource(                                                                                  │
│    75 │   │   │   "data",                                                                                                   │
│    76 │   │   │   "recipe" if IsVersion(">=1.21") else "recipes",                                                           │
│    77 │   │   │   id,                                                                                                       │
│                                                                                                                             │
│ C:\Users\object\Git\hexdoc\src\hexdoc\core\loader.py:248 in load_resource                                                   │
│                                                                                                                             │
│   245 │   │   Raises FileNotFoundError if the file does not exist.                                                          │
│   246 │   │   """                                                                                                           │
│   247 │   │                                                                                                                 │
│ ❱ 248 │   │   resource_dir, path = self.find_resource(*args, **kwargs)                                                      │
│   249 │   │   return resource_dir, self._load_path(                                                                         │
│   250 │   │   │   resource_dir,                                                                                             │
│   251 │   │   │   path,                                                                                                     │
│                                                                                                                             │
│ C:\Users\object\Git\hexdoc\src\hexdoc\core\loader.py:307 in find_resource                                                   │
│                                                                                                                             │
│   304 │   │   │   │   if path.is_file():                                                                                    │
│   305 │   │   │   │   │   return resource_dir, path                                                                         │
│   306 │   │                                                                                                                 │
│ ❱ 307 │   │   raise FileNotFoundError(f"Path {path_stub} not found in any resource dir")                                    │
│   308 │                                                                                                                     │
│   309 │   @overload                                                                                                         │
│   310 │   def load_resources(                                                                                               │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
FileNotFoundError: Path data\hexcasting\recipe\pride_colorizer_pansexual.yaml not found in any resource dir
主要语言
Python
星标
7
派生
10
PR 合并指标
30 天内没有已合并 PR

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

hexdoc-dev/hexdoc 的其他 Issue

查看 hexdoc-dev/hexdoc 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。