Skip to main content

eLearning 是一个专用于管理电子学习系统后端基础设施的 API。

项目描述

在线学习 API 文档

eLearning 是一个专用于管理电子学习系统后端基础设施的 API。eLearning 完全使用 Python 3.6+ 开发,数据存储是通过第三方 API pymongo 3.9.0 实现的 MongoDB 实现。

安装

假设 Python 3 (>=3.6) 已经安装并且MongoDB集群连接正在工作,eLearning API 需要以下要求:

  1. pymongo 3.9.0 . 或者,它可以通过以下方式轻松安装:

    $ python -m pip install pymongo
    
  2. dnspython。或者,它可以通过以下方式轻松安装:

    $ python -m pip install pymongo[srv]
    
  3. 点子。或者,它可以通过以下方式轻松安装:

    $ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    $ python get-pip.py
    
  4. 安装:

    $ pip install eLearning
    
  5. 导入和你好世界:

    import eLearning as el
    elc = el.eLearning_connector()
    print(elc.client)
    print(elc.db)
    print(elc.db.list_collection_names())
    elc._tabula_rasa()
    elc.insert_professor( 'Paul Erdős', 'erdos@princeton.edu' )
    elc.insert_student( 'Terence Tao', 'tao@princeton.edu' )
    

测试

要测试 API,请在 Python 命令行界面尝试下一行:

import eLearning as el
el.eLearning_test.run()

在线学习 API 文档

连接器级操作

eLearning_connector ( )

eLearning_connector 是用于与 MongoDB 集群和数据库通信的对象。eLearning_connector 对象具有以下属性:

  • 电子学习连接器。客户端:关于连接器的信息字典。
  • 电子学习连接器。db:关于数据库的信息字典。
  • 电子学习连接器。course_collection:包含课程信息的 MongoDB 集合对象。
  • 电子学习连接器。course_collection:带有课程信息的 MongoDB 集合对象。
  • 电子学习连接器。question_collection:带有问题信息的 MongoDB 集合对象。
  • 电子学习连接器。binnacle_collection:带有 binnacles 信息的 MongoDB 集合对象。
  • 电子学习连接器。record_collection:带有记录信息的 MongoDB 集合对象。
  • 电子学习连接器。user_collection : 包含用户信息的 MongoDB 集合对象。

电子学习连接器。insert_professor(全名,电子邮件)

如果具有给定全名和电子邮件('200 - OK',"")的教授用户已成功插入数据库,则返回元组。否则,返回。('409 - Conflict',"Insertion error.")

电子学习连接器。insert_student(全名,电子邮件)

如果具有给定全名和电子邮件('200 - OK',"")的学生用户已成功插入数据库,则返回元组。否则,返回。('409 - Conflict',"Insertion error.")

电子学习连接器。delete_user_by_email ( 电子邮件 )

如果具有给定电子邮件('200 - OK',"")的用户已从数据库中成功删除,则返回元组。否则,返回。('409 - Conflict',"Deletion error.")

电子学习连接器。get_user_by_email ( 电子邮件 )

如果教授用户的给定电子邮件结果,则返回eLearning_professor实例。如果给定学生用户的电子邮件结果,则返回eLearning_student实例。否则,返回。None

电子学习连接器。list_professors ()

返回一个包含所有现有教授用户文档的 Python列表对象,每个文档都排列成一个 Python dict对象。如果数据库中没有教授用户,则返回一个空列表。

电子学习连接器。list_students ()

返回一个包含所有现有学生用户文档的 Python列表对象,每个文档都被排列成一个 Python dict对象。如果数据库中没有学生用户,则返回一个空列表。

电子学习连接器。list_courses ()

返回一个包含所有现有课程文档的 Python列表对象,每个文档被排列成一个 Python dict对象。如果数据库中没有课程,则返回一个空列表。

电子学习连接器。list_lessons ( parent_course_code )

将包含所有相关课程文档的 Python列表对象返回给给定的parent_course_code,每个文档都被排列成一个 Python dict对象。如果数据库中没有此类课程,则返回一个空列表。

电子学习连接器。list_questions ( parent_lesson_code )

将包含所有相关问题文档的 Python列表对象返回给给定的parent_lesson_code,每个文档都排列成一个 Python dict对象。如果数据库中没有此类问题,则返回一个空列表。


用户级操作

eLearning_professor ( )

一个 eLearning_professor 实例对应于有效的教授用户的属性和方法:

  • 电子学习教授。fullname<str>用户的全名。
  • 电子学习教授。email<str>用户的电子邮件地址。
  • 电子学习教授。角色<str>它总是设置为“教授”。

电子学习教授。create_course ( 标题, 代码, 描述= None, required_course_code= None)

参数 :

  • 标题<str>课程的自定义标题。
  • code<str>课程的自定义代码。
  • 描述<str>课程描述。
  • required_course_code<str>所需批准课程的代码。

('200 - OK',"")如果具有给定参数的课程在数据库中成功创建,则返回元组。否则,('400 - Bad Request',"Course's code already exists.")返回('404 - Not Found',"Required-course's code not found.")('409 - Conflict',"Insertion error.")

电子学习教授。create_lesson(标题、代码、内容、parent_course_code、approval_score= 1.0、required_lesson_code= None

参数 :

  • title<str>课程的自定义标题。
  • code<str>课程的自定义代码。
  • 内容<str>课程描述。
  • correct_answers :<list>正确答案标签列表 ( <str>)。
  • parent_course_code<str>父课程的代码。
  • 批准分数:(最低分数)和(最高分数)<float>之间的浮点数。0.01.0
  • required_lesson_code<str>所需批准课程的代码。

('200 - OK',"")如果在数据库中成功创建了具有给定参数的课程,则返回元组。否则,返回('400 - Bad Request',"Lesson's code already exists.")、或。('404 - Not Found',"Required-lesson's code not found.")('404 - Not Found',"Parent-course's code not found.")('409 - Conflict',"Insertion error.")

电子学习教授。create_question(代码、模式、内容、正确答案、父课程代码)

参数 :

  • code<str>问题的自定义代码。
  • 模式<str>仅“布尔”、“MC1A”、“MCMA+”、“MCMA*”。
  • 内容<str>问题的描述。
  • 正确答案<list>选项标签列表。
  • parent_lesson_code<str>家长课程的代码。

('200 - OK',"")如果具有给定参数的问题在数据库中成功创建,则返回元组。否则,返回('400 - Bad Request',"Invalid question mode.")、或。('400 - Bad Request',"Answers have to be a list of strings.")('404 - Not Found',"Parent-lesson's code not found.")('409 - Conflict',"Insertion error.")

电子学习教授。list_courses ( )

返回包含所有当前课程的 Python 对象列表。

电子学习教授。阅读课程(代码,完整= False

参数 :

  • 代码<str>课程代码。
  • <bool> FalseTrue

在创建时返回具有给定课程属性的 Python 对象字典。此外,如果full设置为True,将包含所有订阅的课程和问题的信息。

电子学习教授。阅读课程(代码,完整= False

参数 :

  • 代码<str>课程代码。
  • <bool> FalseTrue

在创建时返回具有给定课程属性的 Python 对象字典。此外,如果full设置为True,将包含所有订阅问题的信息。

电子学习教授。read_question ( 代码 )

参数 :

  • code<str>问题的代码。

在创建时返回具有给定问题属性的 Python 对象字典。

电子学习教授。update_course(代码,**kwards)

参数 :

  • 代码<str>课程代码。
  • **kwards<dict>具有要为给定课程更新的属性的字典。

返回一个带有修改属性计数的整数。

电子学习教授。update_lesson ( 代码, **kwards )

参数 :

  • 代码<str>课程代码。
  • **kwards<dict>具有要为给定课程更新的属性的字典。

返回一个带有修改属性计数的整数。

电子学习教授。update_question ( 代码, **kwards )

参数 :

  • code<str>问题的代码。
  • **kwards<dict>具有要为给定问题更新的属性的字典。

返回一个带有修改属性计数的整数。

电子学习教授。删除课程(代码,**kwards

参数 :

  • 代码<str>课程代码。

返回一个整数,其中包含已删除对象的计数。

电子学习教授。delete_lesson(代码,**kwards)

参数 :

  • 代码<str>课程代码。

返回一个整数,其中包含已删除对象的计数。

电子学习教授。delete_question ( 代码, **kwards )

参数 :

  • code<str>问题的代码。

返回一个整数,其中包含已删除对象的计数。


eLearning_student ( )

一个 eLearning_student 实例对应于有效的学生用户的属性和方法:

  • 电子学习_学生。fullname<str>用户的全名。
  • 电子学习_学生。email<str>用户的电子邮件地址。
  • 电子学习_学生。角色<str>它总是设置为“学生”。
  • 电子学习_学生。score<float>主分数。

电子学习_学生。get_record_summary ( )

返回一个 Python 对象列表,其中包含有关学生学习的所有课程和课程的类型、代码、状态、分数和日期时间的信息性字典。

电子学习_学生。list_courses_and_availability ( )

返回包含所有当前课程的 Python 对象列表。每门课程都由一个信息丰富的dict表示,其中的键'available'用 表示True,该课程是否可供学生使用或以False其他方式使用。

电子学习_学生。list_lessons_and_availability (parent_course_code)

参数 :

  • parent_course_code:<str>父课程的代码。

返回包含所有当前课程的 Python 对象列表。每节课都由一个信息丰富的dict表示,其中的键'available'用 表示True,该课是否可供学生使用或以False其他方式使用。

电子学习_学生。get_full_lesson ( 代码 )

参数 :

  • 代码:<str>声明课程的代码。

返回带有声明的课程信息及其订阅问题的 Python 对象字典。

电子学习_学生。take_lesson(代码,answers_list)

参数 :

  • 代码:<str>所学课程的代码。
  • answer_list:<list>包含正确答案标签列表的列表;例如 [['A','C'],['A'],[True]]

返回一个 Python 对象dict恢复分数、所学课程的状态以及父课程状态是否被批准。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

eLearning-0.0.5.tar.gz (9.2 kB 查看哈希

已上传 source

内置分布

eLearning-0.0.5-py3-none-any.whl (22.3 kB 查看哈希

已上传 py3