扫描EDX课程中各种错误的工具
olxcleaner的Python项目详细描述
OLX清洁剂
此库旨在执行两个功能:
- 分析edx课程的xml代码,将其加载到python对象中
- 验证对象是否有错误
基于此,提供了两个利用库的脚本:
edx cleaner
构造错误报告、课程树和课程统计信息edx reporter
构造课程结构的乳胶文件表示
0.1.3版
版权所有(c)2018-2019 Jolyon Bloomfield
链接
安装
可以使用pip install olxcleaner
从pypi安装此包。它需要Python3.6或更高版本。
存储库安装(高级)
克隆此存储库,并为Python3.6或更高版本设置虚拟环境。运行pip install-r requirements.txt
安装库,然后运行pytest
以确保所有测试都按预期通过。
EDX清洁剂的使用
用于验证OLX(EDX XML)代码。这是围绕olxcleaner库的一个非常简单的包装器,但是它公开了它的所有功能。
基本用法:在要验证的课程目录中运行edx cleaner。
命令行选项:
edx-cleaner [-h] [-c COURSE] [-p {1,2,3,4,5,6,7,8}] [-t TREE] [-l {0,1,2,3,4}] [-q] [-e] [-s] [-S] [-f {0,1,2,3,4}] [-i IGNORE [IGNORE ...]]
-h
:显示帮助。-c
:指定要分析的课程文件。如果未指定,则在当前目录中查找course.xml
。如果给定一个目录,则在该目录中查找course.xml
。-p
:指定要分析课程的验证级别:- 1:加载课程
- 2:加载策略和分级策略
- 3:验证URL名称
- 4:将策略数据与课程合并,确保所有引用都有效
- 5:验证分级策略
- 6:让每个对象都验证自己
- 7:分析课程中的全局错误
- 8:分析课程中的详细全局错误(默认设置)
-t树
:指定要将树结构输出到的文件。-l
:指定要将树结构输出到的深度级别。仅在设置了-t
选项时使用。0=课程,1=章节,2=顺序,3=垂直,4=内容。-q
:安静模式。不向屏幕输出任何内容。-e
:取消显示错误列表。由-q
暗示
-s
:取消显示错误摘要。由-q
暗示
-s
:显示课程统计信息(默认为关闭)。被-q
覆盖
-f
:选择错误代码退出时的错误级别。0=调试,1=信息,2=警告,3=错误(默认),4=从不。如果出现指定级别或更高级别的错误,则退出代码设置为1
。-i
:指定要忽略的错误名称的空格分隔列表。参见w">错误列表
EDX报告器用法
olxcleaner库包含将课程解析为python对象的模块。如果要扫描课程以生成报告,则此功能非常有用。我们在edx reporter
中利用此功能生成课程结构的乳胶报告。
基本用法:在要生成有关报告的课程的目录中运行edx reporter
。
命令行选项:
edx-reporter.py [-h] [-c COURSE] [-u] [> latexfile.tex]
-h
:显示帮助。-c
:指定要分析的课程文件。如果未指定,则在当前目录中查找course.xml
。如果给定一个目录,则在该目录中查找course.xml
。-u
:包括垂直目录的URL名称。>;latexfile.tex
:将报告输出到文件。
如果您遇到诸如字符无法编码为latex:u+feff-`'
之类的错误,则您的显示名称中存在一些错误的unicode。查看乳胶输出中的
{\b系列?}
,这是该字符转换成的内容。
生成乳胶文件后,可以通过运行pdf latex latex file.tex
将其编译为pdf文件。请注意,乳胶文件可以用任何文本编辑器进行修改;其格式应该是不言而喻的。
库使用
库中的主力是olxcleaner.validate
,它在许多步骤中验证课程。
olxcleaner.validate(filename,steps=8,ignore=None)
文件名
:输入要验证的课程的课程目录或路径course.xml
。步骤
:选择要执行的验证步骤:- 1:加载课程
- 2:加载策略和分级策略
- 3:验证URL名称
- 4:将策略数据与课程合并,确保所有引用都有效
- 5:验证分级策略
- 6:让每个对象都验证自己
- 7:分析课程中的全局错误
- 8:分析课程中可能需要花费时间才能检测到的全局错误
忽略
:要忽略的错误名称列表
返回edxcourse
,errorstore
,url-names
(字典{'url-name':edxobject}
,如果步骤<;3
,则返回none
请参见如何使用olxcleaner.validate
及其在olxcleaner.entries
中返回的对象的示例。