Skip to content

qwedc001/Peeper-Board-Generator

Repository files navigation

Peeper-Board-Generator

免费,开源的 OJ 榜单生成器

GitHub Last Commit GitHub Release GitHub contributors GitHub commit activity

特点:

  • 高度模块化: 允许用户自定义模块(分为 OJ 爬取模块和榜单生成模块),方便用户开发更多的榜单主题和接入更多 OJ。
  • 灵活: 支持命令行调用程序直接生图 / QQ Bot 调用(coming soon)
  • 内置大量单元测试: 方便用户二次开发时对开发模块进行快速测试

用户群:995417734

欢迎接入更多的 OJ 以及编写更多的榜单样式,欢迎提交 issue 和 pr。

支持的 OJ

  • Hydro
  • Codeforces
  • Atcoder

TODO

  • 进一步完善 theme / misc 的文件结构
  • 完善多 OJ 支持 和多 theme 支持
  • 完善 QQ Bot 调用部分

使用方法

  1. 安装依赖
pip install -r requirements.txt
  1. 编写配置文件

生成器支持多榜单导出,请参照 configs_example.json 编写配置文件,将其保存为 configs.json

目前 configs_example.json 内包含 Hydro榜单 和 Codeforces榜单 的配置文件示例,请删去未填写完整的榜单配置,或者使用 --id 指定想要生成的榜单。

  1. 运行程序
python main.py --help

usage: main.py [-h] (--version | --full | --now | --query_uid QUERY_UID | --query_name QUERY_NAME) [--output OUTPUT] [--verdict VERDICT] [--id ID] [--separate_cols]
               [--performance_statistics]

Peeper-Board-Generator OJ榜单图片生成器

options:
  -h, --help            show this help message and exit
  --version             版本号信息
  --full                生成昨日榜单
  --now                 生成从今日0点到当前时间的榜单
  --query_uid QUERY_UID
                        根据 uid 查询指定用户的信息
  --query_name QUERY_NAME
                        根据用户名查询指定用户的信息
  --output OUTPUT       指定生成图片的路径 (包含文件名)
  --verdict VERDICT     指定榜单对应verdict (使用简写)
  --id ID               生成指定 id 的榜单(留空则生成全部榜单)
  --separate_cols       是否启用分栏特性
  --performance_statistics
                        性能测试

样例图片

Tip:

  1. 图片中 "YOUR Online Judge" 字样可在 configs.json 中的 board_name 字段更改;
  2. 底部 Tips 分栏随版本更新,可在 此 issue 下投稿。

昨日榜单 (--full)

昨日榜单

从今日0点到当前时间的榜单 (--now)

今日榜单

从今日0点到当前时间的 Wrong Answer 榜单 (--now --verdict WA)

今日特定 verdict 榜单

数据较多时可开启分栏 (... --separate_cols)

开启分栏的昨日榜单

致谢

Dev Team: FJNU-Floating-Ocean,QLU-qwedc001

贡献者: QLU-Euphria