用于向Kolibri内容编目服务器添加内容的API
项目描述
电饭煲
《code>电饭煲库是一个框架,用于将教育内容自动化转换为Kolibri内容频道,并将其上传到Kolibri Studio,这是Kolibri的中心内容服务器。
📚 电饭煲文档
请访问📚 ricecooker.readthedocs.io以获取有关安装、入门、API参考和代码示例的完整详细信息。
Kolibri内容概述
使用电饭煲
将网络上可用的开源教育内容转换为适合离线使用的包,可以导入到Kolibri中。
将新内容添加到 Kolibri 的基本流程如下
- 上传 您的内容到 Kolibri Studio,可以通过 Kolibri Studio 网页界面手动上传,或者使用基于
ricecooker
的内容集成脚本来编程上传。 - 发布 在 Kolibri Studio 上发布频道,使其能够在 Kolibri 中使用。
- 导入 使用发布步骤完成后在 Kolibri Studio 中显示的频道令牌将频道导入 Kolibri。
以下图示说明了内容在 Kolibri 生态系统中的流动方式,并突出了由 ricecooker
框架覆盖的部分(左下角)。
外部内容源(左侧)首先上传到 Kolibri Studio(中间),以便在 Kolibri 学习平台(右侧)中使用。
进一步阅读
了解如何编写自动内容集成脚本,请访问 Ricecooker 文档 网站。
以下是一些链接,您可以阅读其他文档和指南,以了解 Kolibri 内容平台的其他部分:
- Kolibri 内容集成指南 是整合外部内容源以在 Kolibri 学习平台中使用的一个全面指南。
- 阅读 Kolibri Studio 文档 以了解 Kolibri Studio 的更多功能。
- 阅读 Kolibri 文档 以了解如何在您的机器上安装 Kolibri(对测试频道很有用)。
======= 历史
0.6.46 (2020-09-21)
- 添加
ricecooker.utils.youtube
,包含处理和缓存 YouTube 视频和播放列表的实用工具。 - 改善
ExerciseNode
中的m
和n
掌握模型值的验证。
0.6.45 (2020-07-25)
- 移除 SushiBar 远程监控和远程命令功能
0.6.44 (2020-07-16)
- 文档全面审查和刷新,请参阅
ricecooker.readthedocs.io <https://ricecooker.readthedocs.io/>
__ - 添加支持指定频道标语
- 确保为所有节点类型发送
extra_fields
数据 - 将
--reset
行为设置为默认 - 移除
compatibiliry_mode
和 BaseChef 类周围的旧代码 - 改进缓存逻辑(不缓存缩略图和本地路径,始终缓存 YouTube 下载)
- 确保厨师在运行后清理(自动删除临时文件)
- 添加
save_channel_tree_as_json
,作为每次运行的一部分保存完整频道元数据。 - 添加对网络内容存档的支持
- 进一步改进日志记录
- 修复:在
ffmpeg_settings
中的嵌套字典值中的深度确定性缓存键错误
0.6.42 (2020-04-10)
- 添加
--sample N
命令行选项。使用--sample 10
运行脚本以生成包含从完整频道中随机选择 10 个节点的测试版频道。这可以用来检查转换是否按预期工作。 - 添加
dryrun
命令。使用命令./sushichef.py dryrun
以正常方式运行厨师,但跳过将文件上传到 Studio 的步骤。 - 添加 HTTP 代理功能用于 YouTubeVideoFile 和 YouTubeSubtitleFile。设置
PROXY_LIST
环境变量为{ip}:{port}
的以;
分隔的列表。Ricecooker 将检测PROXY_LIST
的存在并使用它通过 YoutubeDL 访问资源。或者,设置USEPROXY
环境变量以使用免费代理服务器列表,这些代理服务器非常慢且不可靠。 - 改进了彩色日志记录功能和日志输出的可定制性。
0.6.40 (2020-02-07)
- 将默认行为更改为上传预发布树而不是主树
- 添加
--deploy
标志以重现旧行为(上传到主树) - 为音频、HTML5、PDF和ePub节点添加了缩略图生成方法。在创建Node实例时设置
derive_thumbnail=True
,或者传递命令行参数--thumbnails
以生成所有节点的缩略图。注意:只有当thumbnail
为None时,自动缩略图生成才会生效。
0.6.38 (2019-12-27)
- 支持了
h5p
内容类型和h5p
文件类型 - 从辅助方法
download_static_assets
中移除了对localStorage
和document.cookie
的猴子补丁 - 为标签添加了验证逻辑
- 改进了错误报告
0.6.36 (2019-09-25)
- 添加了对使用
JsonChef
工作流程的标签的支持 - 添加了验证步骤以确保字幕文件对每个语言代码都是唯一的
- 记录了Kolibri 0.13中即将推出的新
SlidesShow
内容类型 - 添加了详细说明内容上传和更新工作流程的文档
- 修复了文件扩展名逻辑的错误,并改进了字幕周围的错误处理
0.6.32 (2019-08-01)
- 更新文档以使用顶级标题
- 移除了对Python 3.4的支持
- 移除了对“sous chef”工作流程的支持
0.6.31 (2019-07-01)
- 处理了更多可转换为字幕的格式:
SRT
、TTML
、SCC
、DFXP
和SAMI
0.6.30 (2019-05-01)
- 更新文档构建脚本,以便在read the docs上提供ricecooker文档
- 添加了
corrections
命令行脚本来批量编辑内容元数据 - 添加了
StudioApi
客户端以支持CRUD(创建、读取、更新、删除)Studio操作 - 添加了pdf-splitting辅助方法(请参阅
ricecooker/utils/pdf.py
)
0.6.23 (2018-11-08)
- 更新了
le-utils
和pressurcooker
依赖项到最新版本 - 添加了对ePub文件的支持(可以将
EPubFile
添加到DocumentNode
中) - 添加了标签支持
- 将
STUDIO_URL
的默认值更改为api.studio.learningequality.org
- 为内容节点添加了
aggregator
和provider
字段 - 对练习中的图像处理进行了各种错误修复
- 将验证逻辑更改为使用
self.filename
来检查文件格式是否在self.allowed_formats
中 - 添加了
is_youtube_subtitle_file_supported_language
辅助函数以支持导入YouTube字幕 - 添加了
srt2vtt
字幕转换 - 在
utils.downloader.download_static_assets
中添加了静态资产下载器辅助方法 - 将LineCook厨师函数添加到
--generate
CSV以从目录结构中 - 修复了始终
randomize=True
的bug - 文档:一般内容节点元数据指南
- 文档:视频压缩说明和辅助脚本
convertvideo.bat
和convertvideo.sh
0.6.17 (2018-04-20)
- 添加了对ContentNodes上的
role
属性的支持(目前为coach
或learner
) - 更新pressurecooker依赖项(以捕获压缩错误)
- 文档改进,请参阅https://github.com/learningequality/ricecooker/tree/master/docs
0.6.15 (2018-03-06)
- 添加了对非mp4视频文件的支持,使用ffmpeg进行自动转换。请参阅
git diff b1d15fa 87f2528
- 将CSV练习工作流程支持添加到
LineCook
厨师类 - 添加了--nomonitor CLI参数以禁用sushibar功能
- 定义了新的ENV变量
- PHANTOMJS_PATH:将此设置为phantomjs二进制文件(而不是假设在node_modules中有一个)
- STUDIO_URL(别名CONTENTWORKSHOP_URL):设置为上传文件的Kolibri Studio服务器URL
- 对支持sushi厨师的各种修复
- 从
ricecooker/utils/html.py
中移除了minimize_html_css_js
实用函数,以消除对css_html_js_minify
的依赖并完全支持Py3.4。
0.6.9 (2017-11-14)
- 将默认日志级别更改为--verbose
- 通过
--cmdsock
添加了对cronjobs脚本的支持(请参阅docs/daemonization.md) - 在utils/html_writer.py中添加了创建HTML5Zip文件的工具
- 在utils/downloader.py中添加了下载HTML的实用程序,可选支持js
- 添加了 utils/path_builder.py 和 utils/data_writer.py,用于创建 souschef 存档(包含文件夹层次结构的文件 + Channel.csv + Content.csv 的 zip 存档)
0.6.7 (2017-10-04)
- 同级内容节点现在需要具有唯一的 source_id
- 除了公共领域之外的所有许可证都需要
copyright_holder
字段
0.6.7 (2017-10-04)
- 同级内容节点现在需要具有唯一的 source_id
- 除了公共领域之外的所有许可证都需要
copyright_holder
字段
0.6.6 (2017-09-29)
- 添加了
JsonTreeChef
类,用于从 ricecooker json 树创建频道 - 添加了
LineCook
厨师类,以支持基于 souschef 的频道工作流
0.6.4 (2017-08-31)
- 为
ContentNode
添加了language
属性(le-utils 中定义的内部表示的字符串键) - 将
language
设为 ChannelNode 的必填属性 - 默认启用 sushibar.learningequality.org 进度监控。将 SUSHIBAR_URL 环境变量设置为控制进度报告的位置(例如,https://:8001)
- 更新 le-utils 和 pressurecooker 依赖项到最新版本
0.6.2 (2017-07-07)
- 明确指出 ricecooker 仅支持 Python3(目前如此)
- 使用 https:// 和 wss:// 进行 SuhiBar 报告
0.6.0 (2017-06-28)
- 远程进度报告和日志记录到 SushiBar(MVP 版本)
- 基于 SuchiChef 类的新 API
- 以兼容模式支持现有的旧-API 厨师
0.5.13 (2017-06-15)
- 添加 SushiBar 功能之前的最后一个稳定版本
- 将 --do-not-activate 参数重命名为 --stage
0.1.0 (2016-09-30)
- PyPI 上的第一个版本。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。
源代码分发
ricecooker-0.7.3.tar.gz (7.7 MB 查看哈希值)
构建分发
ricecooker-0.7.3-py2.py3-none-any.whl (139.9 kB 查看哈希值)
关闭
ricecooker-0.7.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0680a6478a89eb149ade0ebcf53b8ae7f545df91189051a8647cf4a11e63f250 |
|
MD5 | ec93b8a00e832b52f76bcc96141a9c0c |
|
BLAKE2b-256 | 4dab2069bfb1e32ac7bd72efe4535dc3d5ae7ad66a4fca9c9bd5f394ef8e0c6f |
关闭
ricecooker-0.7.3-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a9862e6099a788c798fdd06eff1c34ce494084dd0ce52ac504cd8b2d51517025 |
|
MD5 | e07f5180a5b4e2926a342e88f6495346 |
|
BLAKE2b-256 | 94eebe83f7642dcb8c861500d1b31a2f6b0e72c557680e4be9796dfc1a51e179 |