Skip to content

Resource

py_moodle.resource

Resource module management for Moodle CLI.

Provides functions to create and delete 'resource' modules (single files) using Moodle's web forms and AJAX endpoints. All code and comments are in English.

Classes:

Name Description
MoodleResourceError

Exception raised for errors in resource operations.

Functions:

Name Description
add_resource

Create a new resource module by uploading a single file.

delete_resource

Delete a resource module by its course module ID.

Attributes

MODULE_NAME module-attribute

MODULE_NAME = 'resource'

Classes

MoodleResourceError

Bases: Exception

Exception raised for errors in resource operations.

Functions

add_resource

add_resource(
    session: Session,
    base_url: str,
    sesskey: str,
    course_id: int,
    section_id: int,
    name: str,
    file_path: str,
    intro: str = "",
    visible: int = 1,
    progress_callback: Optional[
        Callable[[int], None]
    ] = None,
) -> int

Create a new resource module by uploading a single file.

Parameters:

Name Type Description Default
session Session

Authenticated requests.Session object.

required
base_url str

Base URL of the Moodle instance.

required
sesskey str

Session key for form submissions.

required
course_id int

ID of the course to add the resource to.

required
section_id int

ID of the section within the course.

required
name str

Name of the resource module.

required
file_path str

Local path to the file to upload.

required
intro str

Optional HTML introduction for the resource.

''
visible int

Whether the module is visible (1) or hidden (0).

1
progress_callback Optional[Callable[[int], None]]

Optional callback for upload progress.

None

Returns:

Type Description
int

The new course module ID (cmid).

delete_resource

delete_resource(
    session: Session, base_url: str, sesskey: str, cmid: int
) -> bool

Delete a resource module by its course module ID.