扫描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:分析课程中可能需要花费时间才能检测到的全局错误
  • 忽略:要忽略的错误名称列表

返回edxcourseerrorstoreurl-names(字典{'url-name':edxobject},如果步骤<;3,则返回none

请参见如何使用olxcleaner.validate及其在olxcleaner.entries中返回的对象的示例。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring安全编程授权   java Android库AAR取决于另一个库   Java/Groovy双精度语句问题   爪哇。查看安卓监视器图形时,release()不会减少我的内存   java无法在子类中使用EventFiringWebDriver对象   java第一个if语句始终为true,但第二个if语句不为true   java如何从作为字符串提供的XML源代码创建可绘制(或XmlResourceParser对象)?   多线程Java并发问题锁和同步方法   java Android Studio注册链接   java ArrayList of ArrayList of String   使用Shadow重新定位的包中的java Kotlin属性不起作用   java在接口org上找不到方法。阿帕奇。伊巴蒂斯。遗嘱执行人。陈述名为prepare的语句处理程序   如何在Java中放大2倍?   java当参数作为RequestBody和RequestParam发送时,sprig控制器无法识别发送的请求