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

Adopt the deferred private EPUB ingestion prototype into the canonical Reader

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

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
24/100
Issue 类型
功能
描述清晰度
描述清楚
活跃度
活跃
技术栈
python

调研方向

Start by locating and inspecting any surviving EPUB handoff, then compare it with the canonical ingestion layer and current analyzer. Define the supported EPUB subset, reading order, identities, and archive safety limits before integrating useful code. Run the installed CLI through HTML, JSON, and CSV tests using small synthetic fixtures; done means the listed acceptance checks pass and the input subset and failures are documented.

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

描述

Recovered product debt

Current README and the historical #274 delivery record explicitly retain unpublished EPUB/batch Workbench work. It was not part of the accepted UTF-8 Reader integration (#273/#276), nor of #288's report comparator. Open/closed issue and PR searches found no delivered EPUB integration. The prototype bytes were not recovered in this session; the historical claim is not implementation or test evidence.

User outcome

Analyze a locally supplied, unencrypted EPUB with the same canonical metrics, without uploading the book, executing embedded content or silently treating a container file as its literary body.

Acceptance

  • First locate and inspect any surviving handoff; deduplicate against current source. Recover only useful code into the canonical ingestion layer, not a parallel Workbench/analyzer.
  • Explicit supported EPUB subset and reading-order policy; separate raw archive, extracted body and normalized-text identities and versions. Preserve editions/translations as distinct inputs.
  • Bounded archive/member counts, compressed and expanded bytes; reject traversal, duplicate/ambiguous members, encrypted input, unsupported structures and unsafe XML. Never execute scripts, follow remote resources, write archive paths or bypass DRM.
  • Reuse the actual analyzer and current privacy/error/create-only output semantics; short-text representativeness remains explicit.
  • Real installed CLI -> HTML/JSON/CSV tests with small original synthetic fixtures: reading order, Unicode, missing spine, malformed archives and size/path attacks. No full copyrighted books in fixtures or reports.
  • Document the accepted input subset and failures. No corpus admission, FantLab-input match, new backend or parity claim. M2 remains 0/5.

Independent of #280 browser report comparison. Keep execution ordering in the existing compact project queue; do not create a competing worker or speculative integration branch.

主要语言
Python
星标
4
派生
0
平均合并
1 天 8 小时
30 天内合并 PR
36

环境准备

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

从这里开始

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

drevendev/Scriptorium 的其他 Issue

查看 drevendev/Scriptorium 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

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