Welcome to muddle’s documentation!

Contents:

class muddle.api.Muddle[source]

The main Muddle class

Example Usage:

>>> import muddle
>>> course = muddle.course(int)

<Response [200]>

class muddle.api.Course(course_id=None)[source]

Represents API endpoints for a Moodle Course

contents()[source]

Returns entire contents of course page

Returns:response object

Example Usage:

>>> import muddle
>>> muddle.course(10).content()
create(fullname, shortname, category_id, **kwargs)[source]

Create a new course

Parameters:
  • fullname (string) – The course’s fullname
  • shortname (string) – The course’s shortname
  • category_id (int) – The course’s category
  • idnumber (string) – (optional) Course ID number. Yes, it’s a string, blame Moodle.
  • summaryformat (int) – (optional) Defaults to 1 (HTML). Summary format options: (1 = HTML, 0 = Moodle, 2 = Plain, or 4 = Markdown)
  • format (string) – (optional) Defaults to “topics” Topic options: (weeks, topics, social, site)
  • showgrades (bool) – (optional) Defaults to True. Determines if grades are shown
  • newsitems (int) – (optional) Defaults to 5. Number of recent items appearing on the course page
  • startdate (bool) – (optional) Timestamp when the course start
  • maxbytes (int) – (optional) Defaults to 83886080. Largest size of file that can be uploaded into the course
  • showreports (bool) – Default to True. Are activity report shown?
  • visible (bool) – (optional) Determines if course is visible to students
  • groupmode (int) – (optional) Defaults to 2. options: (0 = no group, 1 = separate, 2 = visible)
  • groupmodeforce (bool) – (optional) Defaults to False. Force group mode
  • defaultgroupingid (int) – (optional) Defaults to 0. Default grouping id
  • enablecompletion (bool) – (optional) Enable control via completion in activity settings.
  • completionstartonenrol (bool) – (optional) Begin tracking a student’s progress in course completion after
  • completionnotify (bool) – (optional) Default? Dunno. Presumably notifies course completion
  • lang (string) – (optional) Force course language.
  • forcetheme (string) – (optional) Name of the force theme

Example Usage:

>>> import muddle
>>> muddle.course().create('a new course', 'new-course', 20)
delete()[source]

Deletes a specified courses

Example Usage:

>>> import muddle
>>> muddle.course(10).delete()
duplicate(fullname, shortname, categoryid, visible=True, **kwargs)[source]

Duplicates an existing course with options. Note: Can be very slow running.

Parameters:
  • fullname (string) – The new course’s full name
  • shortname (string) – The new course’s short name
  • categoryid (string) – Category new course should be created under
  • visible (bool) – Defaults to True. The new course’s visiblity
  • activities (bool) – (optional) Defaults to True. Include course activites
  • blocks (bool) – (optional) Defaults to True. Include course blocks
  • filters (bool) – (optional) Defaults to True. Include course filters
  • users (bool) – (optional) Defaults to False. Include users
  • role_assignments (bool) – (optional) Defaults to False. Include role assignments
  • comments (bool) – (optional) Defaults to False. Include user comments
  • usercompletion (bool) – (optional) Defaults to False. Include user course completion information
  • logs (bool) – (optional) Defaults to False. Include course logs
  • grade_histories (bool) – (optional) Defaults to False. Include histories
Returns:

response object

Example Usage:

>>> import muddle
>>> muddle.course(10).duplicate('new-fullname', 'new-shortname', 20)
export_data(export_to, delete_content=False)[source]

Export course data to another course. Does not include any user data.

Parameters:delete_content (bool) – (optional) Delete content from source course.

Example Usage:

>>> import muddle
>>> muddle.course(10).export_data(12)
class muddle.api.Category(category_id=None)[source]

Represents API endpoints for Moodle Courses Categories

create(category_name, **kwargs)[source]

Create a new category

Parameters:
  • name (string) – new category name
  • parent (int) – (optional) Defaults to 0, root category. The parent category id inside which the new category will be created
  • description (string) – (optional) The new category description
  • descriptionformat (int) – (optional) Defaults to 1 description format (1 = HTML, 0 = MOODLE, 2 = PLAIN, 4 = MARKDOWN)
  • theme (string) – (optional) The new category theme

Example Usage:

>>> import muddle
>>> muddle.category().create('category name')
delete(new_parent=None, recursive=False)[source]

Deletes a category. Optionally moves content to new category. Note: If category is in root, new_parent must be specified.

Parameters:
  • new_parent (int) – (optional) Category ID of new parent
  • recursive (bool) – recursively delete contents inside this category

Example Usage:

>>> import muddle
>>> muddle.category(10).delete()
details()[source]

Returns details for given category

Returns:category response object

Example Usage:

>>> import muddle
>>> muddle.category(10).details()
update(**kwargs)[source]

Update categories

Parameters:
  • name (string) – (optional) Name
  • idnumber (string) – (optional) Id number
  • parent (int) – (optional) Parent category id
  • description (string) – (optional) Description
  • description-format (int) – Defaults to 1 (1 = HTML, 0 = MOODLE, 2 = PLAIN or 4 = MARKDOWN)
  • theme (string) – (optional) Theme

Example Usage:

>>> import muddle
>>> muddle.category(10).update(name='new name')

Indices and tables