inginious.frontend.plugins package¶
Plugins for the webapp of INGInious
Subpackages¶
Submodules¶
inginious.frontend.plugins.demo module¶
A demo plugin that adds a page
- class inginious.frontend.plugins.demo.DemoPage[source]¶
Bases:
INGIniousPageA simple demo page showing how to add a new page
- methods: t.ClassVar[t.Collection[str] | None] = {'GET', 'POST'}¶
The methods this view is registered for. Uses the same default (
["GET", "HEAD", "OPTIONS"]) asrouteandadd_url_ruleby default.
inginious.frontend.plugins.contests module¶
An algorithm contest plugin for INGInious. Based on the same principles than contests like ACM-ICPC.
- class inginious.frontend.plugins.contests.Contest(task_list_func, dispenser_data, database, course_id)[source]¶
Bases:
TableOfContents
- class inginious.frontend.plugins.contests.ContestAdmin[source]¶
Bases:
INGIniousAdminPageContest settings for a course
- methods: t.ClassVar[t.Collection[str] | None] = {'GET', 'POST'}¶
The methods this view is registered for. Uses the same default (
["GET", "HEAD", "OPTIONS"]) asrouteandadd_url_ruleby default.
- class inginious.frontend.plugins.contests.ContestScoreboard[source]¶
Bases:
INGIniousAuthPageDisplays the scoreboard of the contest
- methods: t.ClassVar[t.Collection[str] | None] = {'GET', 'POST'}¶
The methods this view is registered for. Uses the same default (
["GET", "HEAD", "OPTIONS"]) asrouteandadd_url_ruleby default.
Add a menu for the contest settings in the administration
Displays some informations about the contest on the course page
inginious.frontend.plugins.git_repo module¶
A plugin that allows to save submissions to a Git repository
- class inginious.frontend.plugins.git_repo.SubmissionGitSaver(plugin_manager, config)[source]¶
Bases:
ThreadThread class that saves results from submission in the git repo. It must be a thread as a git commit can take some time and because we extract archives returned by the Client. But it must also be launched only one time as our git operations are not really process/tread-safe ;-)
- add(submission, archive, _)[source]¶
Add a new submission to the repo (add the to queue, will be saved async)
- run()[source]¶
Method representing the thread’s activity.
You may override this method in a subclass. The standard run() method invokes the callable object passed to the object’s constructor as the target argument, if any, with sequential and keyword arguments taken from the args and kwargs arguments, respectively.
inginious.frontend.plugins.simple_grader module¶
Allow the webapp to act as a simple POST grader
- inginious.frontend.plugins.simple_grader.init(plugin_manager, course_factory, client, config)[source]¶
Init the external grader plugin. This simple grader allows only anonymous requests, and submissions are not stored in database.
Available configuration:
plugins: - plugin_module: inginious.frontend.plugins.simple_grader courseid : "external" page_pattern: "/external" return_fields: "^(result|text|problems)$"
The grader will only return fields that are in the job return dict if their key match return_fields.
Different types of request are available : see documentation