codegrade 16.1.54__tar.gz → 16.1.56__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. {codegrade-16.1.54 → codegrade-16.1.56}/PKG-INFO +1 -1
  2. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/_mapping.py +2 -2
  3. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/request_args_plugin.py +1 -3
  4. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/__init__.py +1 -1
  5. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/client.py +2 -2
  6. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/__init__.py +5 -7
  7. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/all_site_settings.py +16 -29
  8. codegrade-16.1.56/codegrade/models/analytics_enabled_setting.py +56 -0
  9. codegrade-16.1.56/codegrade/models/display_grades_enabled_setting.py +56 -0
  10. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/frontend_site_settings.py +60 -40
  11. codegrade-16.1.54/codegrade/models/grade_viewer_and_editor_on_submission_enabled_setting.py → codegrade-16.1.56/codegrade/models/hide_code_editor_filetree_controls_with_only_quiz_steps_setting.py +6 -6
  12. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/site_setting_input.py +11 -13
  13. {codegrade-16.1.54 → codegrade-16.1.56}/pyproject.toml +1 -1
  14. {codegrade-16.1.54 → codegrade-16.1.56}/setup.py +1 -1
  15. codegrade-16.1.54/codegrade/models/max_mirror_file_age_setting.py +0 -57
  16. codegrade-16.1.54/codegrade/models/submissions_page_v2_enabled_setting.py +0 -56
  17. {codegrade-16.1.54 → codegrade-16.1.56}/README.md +0 -0
  18. {codegrade-16.1.54 → codegrade-16.1.56}/cg_dt_utils/__init__.py +0 -0
  19. {codegrade-16.1.54 → codegrade-16.1.56}/cg_maybe/__init__.py +0 -0
  20. {codegrade-16.1.54 → codegrade-16.1.56}/cg_maybe/_just.py +0 -0
  21. {codegrade-16.1.54 → codegrade-16.1.56}/cg_maybe/_maybe.py +0 -0
  22. {codegrade-16.1.54 → codegrade-16.1.56}/cg_maybe/_nothing.py +0 -0
  23. {codegrade-16.1.54 → codegrade-16.1.56}/cg_maybe/_type_helpers.py +0 -0
  24. {codegrade-16.1.54 → codegrade-16.1.56}/cg_maybe/cg_maybe_plugin.py +0 -0
  25. {codegrade-16.1.54 → codegrade-16.1.56}/cg_maybe/utils.py +0 -0
  26. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/__init__.py +0 -0
  27. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/_any_value.py +0 -0
  28. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/_base.py +0 -0
  29. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/_convert.py +0 -0
  30. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/_enum.py +0 -0
  31. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/_form.py +0 -0
  32. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/_lazy.py +0 -0
  33. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/_list.py +0 -0
  34. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/_literal.py +0 -0
  35. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/_multipart.py +0 -0
  36. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/_nullable.py +0 -0
  37. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/_parse_utils.py +0 -0
  38. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/_query.py +0 -0
  39. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/_rich_value.py +0 -0
  40. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/_swagger_utils.py +0 -0
  41. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/_swaggerize.py +0 -0
  42. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/_utils.py +0 -0
  43. {codegrade-16.1.54 → codegrade-16.1.56}/cg_request_args/exceptions.py +0 -0
  44. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/__init__.py +0 -0
  45. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/about.py +0 -0
  46. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/assignment.py +0 -0
  47. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/auto_test.py +0 -0
  48. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/comment.py +0 -0
  49. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/course.py +0 -0
  50. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/course_price.py +0 -0
  51. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/file.py +0 -0
  52. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/git_provider.py +0 -0
  53. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/group.py +0 -0
  54. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/group_set.py +0 -0
  55. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/login_link.py +0 -0
  56. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/lti.py +0 -0
  57. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/notification.py +0 -0
  58. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/oauth_provider.py +0 -0
  59. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/oauth_token.py +0 -0
  60. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/permission.py +0 -0
  61. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/plagiarism.py +0 -0
  62. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/role.py +0 -0
  63. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/section.py +0 -0
  64. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/site_settings.py +0 -0
  65. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/snippet.py +0 -0
  66. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/sso_provider.py +0 -0
  67. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/submission.py +0 -0
  68. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/task_result.py +0 -0
  69. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/tenant.py +0 -0
  70. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/transaction.py +0 -0
  71. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/user.py +0 -0
  72. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/user_setting.py +0 -0
  73. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/_api/webhook.py +0 -0
  74. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/errors.py +0 -0
  75. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/_base_price.py +0 -0
  76. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/_saml_ui_logo_info.py +0 -0
  77. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/_submission_rubric_item_data_parser.py +0 -0
  78. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/about.py +0 -0
  79. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/abstract_role.py +0 -0
  80. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/add_users_section_data.py +0 -0
  81. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/all_auto_test_results.py +0 -0
  82. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/any_auto_test_step_as_json.py +0 -0
  83. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/any_error.py +0 -0
  84. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/any_non_redacted_auto_test_step_as_json.py +0 -0
  85. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/any_redacted_auto_test_step_as_json.py +0 -0
  86. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/api_codes.py +0 -0
  87. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment.py +0 -0
  88. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_anonymization_algo.py +0 -0
  89. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_default_grading_scale_points_setting.py +0 -0
  90. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_default_grading_scale_setting.py +0 -0
  91. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_description_enabled_setting.py +0 -0
  92. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_description_on_teachers_submissions_page_setting.py +0 -0
  93. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_done_type.py +0 -0
  94. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_export_column.py +0 -0
  95. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_feedback.py +0 -0
  96. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_grader.py +0 -0
  97. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_grading_scale_points_enabled_setting.py +0 -0
  98. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_kind.py +0 -0
  99. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_login_link.py +0 -0
  100. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_max_points_enabled_setting.py +0 -0
  101. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_peer_feedback_connection.py +0 -0
  102. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_peer_feedback_settings.py +0 -0
  103. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_percentage_decimals_setting.py +0 -0
  104. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_percentage_grading_settings.py +0 -0
  105. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_point_decimals_setting.py +0 -0
  106. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_points_grading_settings.py +0 -0
  107. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_section_timeframe.py +0 -0
  108. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_state_enum.py +0 -0
  109. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_submission_mode.py +0 -0
  110. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_template.py +0 -0
  111. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/assignment_timeframes.py +0 -0
  112. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/at_image_caching_enabled_setting.py +0 -0
  113. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test.py +0 -0
  114. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_capture_points_message_setting.py +0 -0
  115. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_checkpoint_message_setting.py +0 -0
  116. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_code_quality_message_setting.py +0 -0
  117. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_enabled_setting.py +0 -0
  118. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_fixture.py +0 -0
  119. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_global_setup_output.py +0 -0
  120. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_global_setup_script.py +0 -0
  121. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_heartbeat_interval_setting.py +0 -0
  122. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_heartbeat_max_missed_setting.py +0 -0
  123. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_io_test_message_setting.py +0 -0
  124. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_io_test_sub_message_setting.py +0 -0
  125. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_max_concurrent_batch_runs_setting.py +0 -0
  126. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_max_global_setup_time_setting.py +0 -0
  127. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_max_jobs_per_runner_setting.py +0 -0
  128. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_max_per_student_setup_time_setting.py +0 -0
  129. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_max_result_not_started_setting.py +0 -0
  130. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_max_time_command_setting.py +0 -0
  131. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_max_unit_test_metadata_length_setting.py +0 -0
  132. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_quality_comment.py +0 -0
  133. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_result.py +0 -0
  134. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_result_state.py +0 -0
  135. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_result_with_extra_data.py +0 -0
  136. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_run.py +0 -0
  137. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_run_program_message_setting.py +0 -0
  138. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_runner.py +0 -0
  139. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_runner_state.py +0 -0
  140. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_set.py +0 -0
  141. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_step_base.py +0 -0
  142. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_step_base_as_json.py +0 -0
  143. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_step_base_input_as_json.py +0 -0
  144. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_step_log_base.py +0 -0
  145. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_step_result.py +0 -0
  146. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_step_result_state.py +0 -0
  147. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_step_validation_exception.py +0 -0
  148. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_suite.py +0 -0
  149. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/auto_test_unit_test_message_setting.py +0 -0
  150. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/automatic_lti1p3_assignment_import_setting.py +0 -0
  151. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/automatic_lti_role_enabled_setting.py +0 -0
  152. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_about.py +0 -0
  153. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_auto_test_quality_comment.py +0 -0
  154. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_comment_base.py +0 -0
  155. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_comment_base_with_extended_replies.py +0 -0
  156. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_comment_base_with_normal_replies.py +0 -0
  157. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_comment_reply.py +0 -0
  158. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_course_coupon.py +0 -0
  159. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_directory.py +0 -0
  160. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_error.py +0 -0
  161. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_file.py +0 -0
  162. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_lms_capabilities.py +0 -0
  163. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_lti1p1_provider.py +0 -0
  164. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_lti1p3_provider.py +0 -0
  165. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_lti_provider.py +0 -0
  166. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_notification.py +0 -0
  167. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_release_info.py +0 -0
  168. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_rubric_item.py +0 -0
  169. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/base_tenant_coupon.py +0 -0
  170. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/blackboard_zip_upload_enabled_setting.py +0 -0
  171. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/bulk_enroll_course_data.py +0 -0
  172. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/canvas_course_id_copying_enabled_setting.py +0 -0
  173. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/cg_ignore_version.py +0 -0
  174. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/change_user_role_course_data.py +0 -0
  175. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/check_points_as_json.py +0 -0
  176. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/check_points_data.py +0 -0
  177. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/check_points_extra.py +0 -0
  178. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/check_points_input_as_json.py +0 -0
  179. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/clone_result.py +0 -0
  180. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/code_editor_output_viewer_title_setting.py +0 -0
  181. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/code_quality_as_json.py +0 -0
  182. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/code_quality_base_data.py +0 -0
  183. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/code_quality_data.py +0 -0
  184. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/code_quality_extra.py +0 -0
  185. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/code_quality_input_as_json.py +0 -0
  186. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/code_quality_penalties.py +0 -0
  187. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/column_range.py +0 -0
  188. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/comment_base.py +0 -0
  189. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/comment_reply.py +0 -0
  190. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/comment_reply_edit.py +0 -0
  191. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/comment_reply_type.py +0 -0
  192. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/comment_type.py +0 -0
  193. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/community_library_publishing_setting.py +0 -0
  194. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/community_library_setting.py +0 -0
  195. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/connect_repository_git_provider_data.py +0 -0
  196. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/copy_auto_test_data.py +0 -0
  197. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/copy_rubric_assignment_data.py +0 -0
  198. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/coupon_data_parser.py +0 -0
  199. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/coupon_with_code.py +0 -0
  200. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/coupon_without_code.py +0 -0
  201. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course.py +0 -0
  202. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_bulk_enroll_result.py +0 -0
  203. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_bulk_register_enabled_setting.py +0 -0
  204. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_coupon.py +0 -0
  205. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_coupon_usage.py +0 -0
  206. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_gradebook_enabled_setting.py +0 -0
  207. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_gradebook_render_warning_size_setting.py +0 -0
  208. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_of_course_price.py +0 -0
  209. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_of_tenant_coupon_usage.py +0 -0
  210. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_perm_map.py +0 -0
  211. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_permission.py +0 -0
  212. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_price.py +0 -0
  213. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_register_enabled_setting.py +0 -0
  214. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_register_response.py +0 -0
  215. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_registration_link.py +0 -0
  216. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_role.py +0 -0
  217. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_role_as_json_with_perms.py +0 -0
  218. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_section.py +0 -0
  219. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_section_division.py +0 -0
  220. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_section_division_connection.py +0 -0
  221. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_section_division_user.py +0 -0
  222. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_snippet.py +0 -0
  223. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_state.py +0 -0
  224. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/course_statistics_as_json.py +0 -0
  225. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_assignment_course_data.py +0 -0
  226. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_auto_test_data.py +0 -0
  227. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_comment_data.py +0 -0
  228. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_comment_reply_data.py +0 -0
  229. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_course_data.py +0 -0
  230. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_division_section_data.py +0 -0
  231. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_group_group_set_data.py +0 -0
  232. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_group_set_course_data.py +0 -0
  233. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_lti_data.py +0 -0
  234. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_output_html_proxy_auto_test_data.py +0 -0
  235. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_proxy_submission_data.py +0 -0
  236. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_repository_git_provider_data.py +0 -0
  237. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_role_course_data.py +0 -0
  238. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_section_course_data.py +0 -0
  239. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_snippet_course_data.py +0 -0
  240. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_snippet_data.py +0 -0
  241. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_sso_provider_data.py +0 -0
  242. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/create_tenant_data.py +0 -0
  243. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/csv_large_file_limit_setting.py +0 -0
  244. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/csv_too_many_errors_limit_setting.py +0 -0
  245. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/currency.py +0 -0
  246. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/custom_output_as_json.py +0 -0
  247. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/custom_output_data.py +0 -0
  248. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/custom_output_extra.py +0 -0
  249. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/custom_output_input_as_json.py +0 -0
  250. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/custom_output_log.py +0 -0
  251. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/custom_output_log_base.py +0 -0
  252. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/default_course_ta_role_setting.py +0 -0
  253. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/default_course_teacher_role_setting.py +0 -0
  254. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/default_submission_page_tab_setting.py +0 -0
  255. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/deleted_comment_reply.py +0 -0
  256. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/deletion_type.py +0 -0
  257. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/directory_with_children.py +0 -0
  258. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/disabled_setting_exception.py +0 -0
  259. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/editor_enabled_for_teachers_setting.py +0 -0
  260. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/editor_enabled_setting.py +0 -0
  261. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/email_notification_types.py +0 -0
  262. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/email_students_enabled_setting.py +0 -0
  263. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/email_users_course_data.py +0 -0
  264. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/exam_login_max_length_setting.py +0 -0
  265. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/export_assignment_csv_data.py +0 -0
  266. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/export_assignment_data.py +0 -0
  267. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/export_assignment_files_data.py +0 -0
  268. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/extended_auto_test_result.py +0 -0
  269. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/extended_auto_test_run.py +0 -0
  270. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/extended_course.py +0 -0
  271. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/extended_course_registration_link.py +0 -0
  272. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/extended_course_section.py +0 -0
  273. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/extended_group.py +0 -0
  274. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/extended_job.py +0 -0
  275. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/extended_non_deleted_comment_reply.py +0 -0
  276. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/extended_tenant.py +0 -0
  277. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/extended_transaction.py +0 -0
  278. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/extended_user.py +0 -0
  279. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/extended_work.py +0 -0
  280. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/extract_file_tree_directory.py +0 -0
  281. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/extract_file_tree_file.py +0 -0
  282. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/failed_to_send_email_exception.py +0 -0
  283. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/feedback_base.py +0 -0
  284. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/feedback_threads_initially_collapsed_setting.py +0 -0
  285. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/feedback_with_replies.py +0 -0
  286. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/feedback_without_replies.py +0 -0
  287. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/file_deletion.py +0 -0
  288. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/file_rule.py +0 -0
  289. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/file_rule_input_data.py +0 -0
  290. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/file_tree.py +0 -0
  291. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/file_type.py +0 -0
  292. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/finalized_lti1p1_provider.py +0 -0
  293. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/finalized_lti1p3_provider.py +0 -0
  294. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/first_phase_lti_launch_exception.py +0 -0
  295. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/fixed_availability.py +0 -0
  296. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/fixed_grade_availability.py +0 -0
  297. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/fixture_like.py +0 -0
  298. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/fraction.py +0 -0
  299. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/general_feedback_comment_base.py +0 -0
  300. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/general_feedback_comment_base_with_extended_replies.py +0 -0
  301. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/general_feedback_extra.py +0 -0
  302. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/git_repositories_page.py +0 -0
  303. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/git_repository_like.py +0 -0
  304. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/git_user_info.py +0 -0
  305. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/github_template_repo_enabled_setting.py +0 -0
  306. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/global_perm_map.py +0 -0
  307. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/global_permission.py +0 -0
  308. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/grade_history.py +0 -0
  309. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/grade_origin.py +0 -0
  310. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/grading_notifications_enabled_setting.py +0 -0
  311. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/group.py +0 -0
  312. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/group_not_ready_for_submission_exception.py +0 -0
  313. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/group_set.py +0 -0
  314. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/groups_enabled_setting.py +0 -0
  315. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/has_unread_notifcation_json.py +0 -0
  316. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/health_information.py +0 -0
  317. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/hide_code_editor_output_viewer_with_only_quiz_steps_setting.py +0 -0
  318. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/hide_empty_rubric_row_description_setting.py +0 -0
  319. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/ignore_handling.py +0 -0
  320. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/ignored_files_exception.py +0 -0
  321. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/import_into_assignment_data.py +0 -0
  322. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/import_into_course_data.py +0 -0
  323. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/incremental_rubric_submission_enabled_setting.py +0 -0
  324. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/inline_feedback_comment_base.py +0 -0
  325. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/inline_feedback_comment_base_with_extended_replies.py +0 -0
  326. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/inline_feedback_extra.py +0 -0
  327. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/inline_rubric_viewer_enabled_setting.py +0 -0
  328. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/invalid_group_exception.py +0 -0
  329. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/invalid_io_cases_exception.py +0 -0
  330. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/invalid_options_exception.py +0 -0
  331. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/io_test_as_json.py +0 -0
  332. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/io_test_base_data.py +0 -0
  333. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/io_test_data.py +0 -0
  334. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/io_test_extra.py +0 -0
  335. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/io_test_input_as_json.py +0 -0
  336. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/io_test_input_case.py +0 -0
  337. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/io_test_log.py +0 -0
  338. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/io_test_option.py +0 -0
  339. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/io_test_step_log.py +0 -0
  340. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/io_test_step_log_base.py +0 -0
  341. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/is_admin_permission_enabled_setting.py +0 -0
  342. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/job.py +0 -0
  343. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/json_create_auto_test.py +0 -0
  344. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/json_create_tenant.py +0 -0
  345. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/json_patch_auto_test.py +0 -0
  346. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/json_patch_submit_types_assignment.py +0 -0
  347. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/junit_test_as_json.py +0 -0
  348. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/junit_test_base_data.py +0 -0
  349. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/junit_test_data.py +0 -0
  350. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/junit_test_extra.py +0 -0
  351. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/junit_test_input_as_json.py +0 -0
  352. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/junit_test_log.py +0 -0
  353. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/junit_test_log_base.py +0 -0
  354. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/jwt_access_token_expires_setting.py +0 -0
  355. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/legacy_features.py +0 -0
  356. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/line_range.py +0 -0
  357. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/linter_comment.py +0 -0
  358. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/linters_enabled_setting.py +0 -0
  359. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/lms_capabilities.py +0 -0
  360. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/login_token_before_time_setting.py +0 -0
  361. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/login_user_data.py +0 -0
  362. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/logout_response.py +0 -0
  363. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/logout_user_data.py +0 -0
  364. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/lti1p1_provider.py +0 -0
  365. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/lti1p1_provider_data.py +0 -0
  366. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/lti1p3_nonce_and_state_validation_enabled_setting.py +0 -0
  367. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/lti1p3_parse_most_privileged_role_setting.py +0 -0
  368. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/lti1p3_prevent_nonce_reuse_enabled_setting.py +0 -0
  369. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/lti1p3_provider.py +0 -0
  370. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/lti1p3_provider_data.py +0 -0
  371. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/lti1p3_provider_presentation_as_json.py +0 -0
  372. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/lti1p3_system_role_from_context_role_setting.py +0 -0
  373. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/lti_enabled_setting.py +0 -0
  374. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/lti_first_launch_content_id_enabled_setting.py +0 -0
  375. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/lti_launch_data_logging_setting.py +0 -0
  376. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/lti_lock_date_copying_enabled_setting.py +0 -0
  377. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/lti_provider_base.py +0 -0
  378. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/lti_unset_deadline_lock_date_enabled_setting.py +0 -0
  379. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/max_document_update_size_setting.py +0 -0
  380. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/max_dynamo_file_size_setting.py +0 -0
  381. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/max_dynamo_submission_size_setting.py +0 -0
  382. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/max_file_size_setting.py +0 -0
  383. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/max_large_upload_size_setting.py +0 -0
  384. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/max_lines_setting.py +0 -0
  385. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/max_normal_upload_size_setting.py +0 -0
  386. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/max_number_of_files_setting.py +0 -0
  387. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/max_plagiarism_matches_setting.py +0 -0
  388. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/max_user_setting_amount_setting.py +0 -0
  389. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/min_password_score_setting.py +0 -0
  390. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/mirror_file_result.py +0 -0
  391. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/missing_cookie_error.py +0 -0
  392. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/missing_file.py +0 -0
  393. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/new_auto_test_allowed_initial_build_ids_setting.py +0 -0
  394. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/new_auto_test_build_max_command_time_setting.py +0 -0
  395. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/new_auto_test_build_output_limit_setting.py +0 -0
  396. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/new_auto_test_copying_enabled_setting.py +0 -0
  397. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/new_auto_test_current_initial_build_ids_setting.py +0 -0
  398. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/new_auto_test_diff_viewer_enabled_setting.py +0 -0
  399. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/new_auto_test_enabled_setting.py +0 -0
  400. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/new_auto_test_initial_build_id_setting.py +0 -0
  401. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/new_auto_test_max_dynamodb_size_setting.py +0 -0
  402. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/new_auto_test_max_file_size_setting.py +0 -0
  403. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/new_auto_test_max_output_files_size_setting.py +0 -0
  404. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/new_auto_test_max_storage_size_setting.py +0 -0
  405. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/new_auto_test_old_submission_age_setting.py +0 -0
  406. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/new_auto_test_test_max_command_time_setting.py +0 -0
  407. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/new_auto_test_test_output_limit_setting.py +0 -0
  408. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/new_auto_test_uncollapsing_step_output_delay_setting.py +0 -0
  409. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/no_permissions.py +0 -0
  410. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/non_deleted_comment_reply.py +0 -0
  411. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/non_finalized_lti1p1_provider.py +0 -0
  412. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/non_finalized_lti1p3_provider.py +0 -0
  413. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/non_present_preference.py +0 -0
  414. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/notification.py +0 -0
  415. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/notification_comment_reply_notification_as_json.py +0 -0
  416. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/notification_general_feedback_reply_notification_as_json.py +0 -0
  417. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/notification_poll_time_setting.py +0 -0
  418. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/notification_reasons.py +0 -0
  419. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/notification_setting.py +0 -0
  420. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/notification_setting_option.py +0 -0
  421. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/notifications_json.py +0 -0
  422. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/oauth_provider.py +0 -0
  423. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/oauth_token.py +0 -0
  424. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/option.py +0 -0
  425. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/options_input_data.py +0 -0
  426. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/output_viewer_animation_limit_lines_count_setting.py +0 -0
  427. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/parse_api_exception.py +0 -0
  428. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch1_p1_provider_lti_data.py +0 -0
  429. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch1_p3_provider_lti_data.py +0 -0
  430. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_all_notification_data.py +0 -0
  431. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_assignment_data.py +0 -0
  432. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_auto_test_data.py +0 -0
  433. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_comment_reply_data.py +0 -0
  434. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_course_data.py +0 -0
  435. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_grader_submission_data.py +0 -0
  436. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_notification_data.py +0 -0
  437. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_notification_setting_user_setting_data.py +0 -0
  438. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_provider_lti_data.py +0 -0
  439. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_role_course_data.py +0 -0
  440. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_role_data.py +0 -0
  441. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_role_tenant_data.py +0 -0
  442. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_rubric_category_type_assignment_data.py +0 -0
  443. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_rubric_result_submission_data.py +0 -0
  444. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_section_data.py +0 -0
  445. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_settings_tenant_data.py +0 -0
  446. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_site_settings_data.py +0 -0
  447. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_snippet_course_data.py +0 -0
  448. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_snippet_data.py +0 -0
  449. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_submission_data.py +0 -0
  450. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_submit_types_assignment_data.py +0 -0
  451. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_tenant_data.py +0 -0
  452. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_ui_preference_user_setting_data.py +0 -0
  453. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/patch_user_data.py +0 -0
  454. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/pay_with_coupon_course_price_data.py +0 -0
  455. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/pearson_templates_setting.py +0 -0
  456. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/peer_feedback_enabled_setting.py +0 -0
  457. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/permission_exception.py +0 -0
  458. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/plagiarism_bulk_export_enabled_setting.py +0 -0
  459. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/plagiarism_bulk_export_max_cases_setting.py +0 -0
  460. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/plagiarism_case.py +0 -0
  461. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/plagiarism_pdf_export_enabled_setting.py +0 -0
  462. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/plagiarism_run.py +0 -0
  463. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/plagiarism_run_plagiarism_assignment_as_json.py +0 -0
  464. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/plagiarism_run_plagiarism_course_as_json.py +0 -0
  465. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/plagiarism_state.py +0 -0
  466. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/post_oauth_token_data.py +0 -0
  467. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/present_preference.py +0 -0
  468. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/proxy.py +0 -0
  469. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/put_description_assignment_data.py +0 -0
  470. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/put_enroll_link_course_data.py +0 -0
  471. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/put_price_course_data.py +0 -0
  472. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/put_price_tenant_data.py +0 -0
  473. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/put_rubric_assignment_data.py +0 -0
  474. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/quality_comment_severity.py +0 -0
  475. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/quality_comments_in_code_editor_setting.py +0 -0
  476. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/quality_test_log.py +0 -0
  477. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/quality_test_log_base.py +0 -0
  478. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/register_enabled_setting.py +0 -0
  479. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/register_user_data.py +0 -0
  480. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/register_user_with_link_course_data.py +0 -0
  481. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/release_info.py +0 -0
  482. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/release_message_max_time_setting.py +0 -0
  483. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/rename_group_group_data.py +0 -0
  484. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/render_html_enabled_setting.py +0 -0
  485. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/repository_connection_limit_reached_exception.py +0 -0
  486. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/reset_token_time_setting.py +0 -0
  487. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/result_data_get_auto_test_get.py +0 -0
  488. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/result_data_get_task_result_get_all.py +0 -0
  489. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/result_data_post_login_link_login.py +0 -0
  490. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/result_data_post_section_create_division.py +0 -0
  491. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/result_data_post_user_login.py +0 -0
  492. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/result_data_post_user_register.py +0 -0
  493. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/role_as_json_with_perms.py +0 -0
  494. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/root_file_trees_json.py +0 -0
  495. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/rubric_description_type.py +0 -0
  496. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/rubric_enabled_for_teacher_on_submissions_page_setting.py +0 -0
  497. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/rubric_item.py +0 -0
  498. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/rubric_item_input_as_json.py +0 -0
  499. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/rubric_lock_reason.py +0 -0
  500. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/rubric_row_base.py +0 -0
  501. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/rubric_row_base_input_as_json.py +0 -0
  502. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/rubric_row_base_input_base_as_json.py +0 -0
  503. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/rubrics_enabled_setting.py +0 -0
  504. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/rule_type.py +0 -0
  505. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/run_program_as_json.py +0 -0
  506. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/run_program_data.py +0 -0
  507. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/run_program_extra.py +0 -0
  508. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/run_program_input_as_json.py +0 -0
  509. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/run_program_log.py +0 -0
  510. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/saml2_provider_json.py +0 -0
  511. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/saml_ui_info.py +0 -0
  512. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/sections_in_submission_list_enabled_setting.py +0 -0
  513. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/send_registration_email_setting.py +0 -0
  514. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/server_time_correction_enabled_setting.py +0 -0
  515. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/server_time_diff_tolerance_setting.py +0 -0
  516. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/server_time_sync_interval_setting.py +0 -0
  517. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/setting_token_time_setting.py +0 -0
  518. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/setup_oauth_result.py +0 -0
  519. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/simple_submission_mode_enabled_setting.py +0 -0
  520. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/simple_submission_navigate_to_latest_editor_session_setting.py +0 -0
  521. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/site_email_setting.py +0 -0
  522. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/snippet.py +0 -0
  523. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/sso_infer_global_staff_role_setting.py +0 -0
  524. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/sso_username_decollision_enabled_setting.py +0 -0
  525. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/staged_assignment_importer_enabled_setting.py +0 -0
  526. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/start_payment_course_price_close_tab_data.py +0 -0
  527. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/start_payment_course_price_data.py +0 -0
  528. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/start_payment_course_price_redirect_data.py +0 -0
  529. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/started_transaction.py +0 -0
  530. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/student_payment_enabled_setting.py +0 -0
  531. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/submission_validator_input_data.py +0 -0
  532. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/submissions_per_page_enabled_setting.py +0 -0
  533. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/task_result_state.py +0 -0
  534. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/tax_behavior.py +0 -0
  535. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/tenant.py +0 -0
  536. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/tenant_coupon.py +0 -0
  537. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/tenant_coupon_usage.py +0 -0
  538. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/tenant_coupon_with_code.py +0 -0
  539. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/tenant_coupon_without_code.py +0 -0
  540. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/tenant_course_statistics.py +0 -0
  541. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/tenant_of_tenant_price.py +0 -0
  542. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/tenant_permissions.py +0 -0
  543. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/tenant_price.py +0 -0
  544. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/tenant_role_as_json_with_perms.py +0 -0
  545. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/tenant_statistics.py +0 -0
  546. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/test_submission_copying_on_import_enabled_setting.py +0 -0
  547. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/timed_availability.py +0 -0
  548. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/timeframe_like.py +0 -0
  549. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/token_revoked_exception.py +0 -0
  550. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/transaction.py +0 -0
  551. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/transaction_state.py +0 -0
  552. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/types.py +0 -0
  553. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/update_peer_feedback_settings_assignment_data.py +0 -0
  554. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/update_set_auto_test_data.py +0 -0
  555. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/update_suite_auto_test_base_data.py +0 -0
  556. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/update_suite_auto_test_data.py +0 -0
  557. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/upgraded_lti_provider_exception.py +0 -0
  558. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/upload_submission_assignment_data.py +0 -0
  559. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/user.py +0 -0
  560. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/user_course.py +0 -0
  561. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/user_info_with_role.py +0 -0
  562. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/user_input.py +0 -0
  563. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/user_without_group.py +0 -0
  564. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/weak_password_exception.py +0 -0
  565. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/weak_password_feedback.py +0 -0
  566. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/webhook_base.py +0 -0
  567. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/webhook_configuration_disabled_as_json.py +0 -0
  568. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/webhook_configuration_enabled_as_json.py +0 -0
  569. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/work.py +0 -0
  570. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/work_origin.py +0 -0
  571. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/work_rubric_item.py +0 -0
  572. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/work_rubric_result_as_json.py +0 -0
  573. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/models/work_rubric_result_points_as_json.py +0 -0
  574. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/parsers.py +0 -0
  575. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/py.typed +0 -0
  576. {codegrade-16.1.54 → codegrade-16.1.56}/codegrade/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codegrade
3
- Version: 16.1.54
3
+ Version: 16.1.56
4
4
  Summary: A client library for accessing CodeGrade
5
5
  License: AGPL-3.0-only OR BSD-3-Clause-Clear
6
6
  Requires-Python: >=3.8.0,<4.0
@@ -385,10 +385,10 @@ class BaseFixedMapping(
385
385
  @classmethod
386
386
  def from_typeddict(
387
387
  cls,
388
- typeddict: t.Type,
388
+ typeddict: t.Type[_T],
389
389
  *,
390
390
  readable: bool = False
391
- ) -> 'BaseFixedMapping[t.Any]':
391
+ ) -> 'BaseFixedMapping[_T]': # type: ignore
392
392
  """Create a mapping from an existing typeddict.
393
393
  """
394
394
  # pylint: disable=import-outside-toplevel
@@ -34,9 +34,7 @@ def from_typeddict_callback(ctx: MethodContext) -> Type:
34
34
  'The argument to `from_typeddict` should be a typeddict type',
35
35
  ctx.context
36
36
  )
37
- return ctx.default_return_type
38
-
39
- return ctx.default_return_type.copy_modified(args=[producer.ret_type])
37
+ return ctx.default_return_type
40
38
 
41
39
 
42
40
  def dict_getter_attribute_callback(ctx: AttributeContext, attr: str) -> Type:
@@ -7,7 +7,7 @@ from functools import wraps
7
7
  from .client import AuthenticatedClient, Client
8
8
 
9
9
  __all__ = ("login", "AuthenticatedClient", "Client", "login_from_cli")
10
- __version__ = "16.1.54"
10
+ __version__ = "16.1.56"
11
11
 
12
12
 
13
13
  @wraps(AuthenticatedClient.get)
@@ -526,7 +526,7 @@ class Client(_BaseClient):
526
526
  return httpx.Client(
527
527
  base_url=self.base_url,
528
528
  headers={
529
- "User-Agent": "CodeGradeAPI/16.1.54",
529
+ "User-Agent": "CodeGradeAPI/16.1.56",
530
530
  },
531
531
  follow_redirects=True,
532
532
  )
@@ -546,7 +546,7 @@ class AuthenticatedClient(_BaseClient):
546
546
  base_url=self.base_url,
547
547
  headers={
548
548
  "Authorization": f"Bearer {self.token}",
549
- "User-Agent": "CodeGradeAPI/16.1.54",
549
+ "User-Agent": "CodeGradeAPI/16.1.56",
550
550
  },
551
551
  follow_redirects=True,
552
552
  )
@@ -13,6 +13,7 @@ from .abstract_role import AbstractRole
13
13
  from .add_users_section_data import AddUsersSectionData
14
14
  from .all_auto_test_results import AllAutoTestResults
15
15
  from .all_site_settings import AllSiteSettings
16
+ from .analytics_enabled_setting import AnalyticsEnabledSetting
16
17
  from .any_auto_test_step_as_json import AnyAutoTestStepAsJSON
17
18
  from .any_error import AnyError
18
19
  from .any_non_redacted_auto_test_step_as_json import (
@@ -266,6 +267,7 @@ from .deleted_comment_reply import DeletedCommentReply
266
267
  from .deletion_type import DeletionType
267
268
  from .directory_with_children import DirectoryWithChildren
268
269
  from .disabled_setting_exception import DisabledSettingException
270
+ from .display_grades_enabled_setting import DisplayGradesEnabledSetting
269
271
  from .editor_enabled_for_teachers_setting import (
270
272
  EditorEnabledForTeachersSetting,
271
273
  )
@@ -326,9 +328,6 @@ from .global_perm_map import GlobalPermMap
326
328
  from .global_permission import GlobalPermission
327
329
  from .grade_history import GradeHistory
328
330
  from .grade_origin import GradeOrigin
329
- from .grade_viewer_and_editor_on_submission_enabled_setting import (
330
- GradeViewerAndEditorOnSubmissionEnabledSetting,
331
- )
332
331
  from .grading_notifications_enabled_setting import (
333
332
  GradingNotificationsEnabledSetting,
334
333
  )
@@ -340,6 +339,9 @@ from .group_set import GroupSet
340
339
  from .groups_enabled_setting import GroupsEnabledSetting
341
340
  from .has_unread_notifcation_json import HasUnreadNotifcationJSON
342
341
  from .health_information import HealthInformation
342
+ from .hide_code_editor_filetree_controls_with_only_quiz_steps_setting import (
343
+ HideCodeEditorFiletreeControlsWithOnlyQuizStepsSetting,
344
+ )
343
345
  from .hide_code_editor_output_viewer_with_only_quiz_steps_setting import (
344
346
  HideCodeEditorOutputViewerWithOnlyQuizStepsSetting,
345
347
  )
@@ -436,7 +438,6 @@ from .max_dynamo_submission_size_setting import MaxDynamoSubmissionSizeSetting
436
438
  from .max_file_size_setting import MaxFileSizeSetting
437
439
  from .max_large_upload_size_setting import MaxLargeUploadSizeSetting
438
440
  from .max_lines_setting import MaxLinesSetting
439
- from .max_mirror_file_age_setting import MaxMirrorFileAgeSetting
440
441
  from .max_normal_upload_size_setting import MaxNormalUploadSizeSetting
441
442
  from .max_number_of_files_setting import MaxNumberOfFilesSetting
442
443
  from .max_plagiarism_matches_setting import MaxPlagiarismMatchesSetting
@@ -661,9 +662,6 @@ from .start_payment_course_price_redirect_data import (
661
662
  from .started_transaction import StartedTransaction
662
663
  from .student_payment_enabled_setting import StudentPaymentEnabledSetting
663
664
  from .submission_validator_input_data import SubmissionValidatorInputData
664
- from .submissions_page_v2_enabled_setting import (
665
- SubmissionsPageV2EnabledSetting,
666
- )
667
665
  from .submissions_per_page_enabled_setting import (
668
666
  SubmissionsPerPageEnabledSetting,
669
667
  )
@@ -98,9 +98,6 @@ class AllSiteSettings(FrontendSiteSettings):
98
98
  #: The time a login session is valid. After this amount of time a user will
99
99
  #: always need to re-authenticate.
100
100
  jwt_access_token_expires: Maybe["datetime.timedelta"] = Nothing
101
- #: The time a user has to download a file from the mirror storage, after
102
- #: this time the file will be deleted.
103
- max_mirror_file_age: Maybe["datetime.timedelta"] = Nothing
104
101
  #: Whether username decollision - adding a number after the username if it
105
102
  #: already exists - should be enabled for SSO tenants.
106
103
  sso_username_decollision_enabled: Maybe["bool"] = Nothing
@@ -374,15 +371,6 @@ class AllSiteSettings(FrontendSiteSettings):
374
371
  " of time a user will always need to re-authenticate."
375
372
  ),
376
373
  ),
377
- rqa.OptionalArgument(
378
- "MAX_MIRROR_FILE_AGE",
379
- rqa.RichValue.TimeDelta,
380
- doc=(
381
- "The time a user has to download a file from the"
382
- " mirror storage, after this time the file will be"
383
- " deleted."
384
- ),
385
- ),
386
374
  rqa.OptionalArgument(
387
375
  "SSO_USERNAME_DECOLLISION_ENABLED",
388
376
  rqa.SimpleValue.bool,
@@ -576,9 +564,6 @@ class AllSiteSettings(FrontendSiteSettings):
576
564
  self.jwt_access_token_expires = maybe_from_nullable(
577
565
  self.jwt_access_token_expires
578
566
  )
579
- self.max_mirror_file_age = maybe_from_nullable(
580
- self.max_mirror_file_age
581
- )
582
567
  self.sso_username_decollision_enabled = maybe_from_nullable(
583
568
  self.sso_username_decollision_enabled
584
569
  )
@@ -922,10 +907,6 @@ class AllSiteSettings(FrontendSiteSettings):
922
907
  res["INLINE_RUBRIC_VIEWER_ENABLED"] = to_dict(
923
908
  self.inline_rubric_viewer_enabled.value
924
909
  )
925
- if self.submissions_page_v2_enabled.is_just:
926
- res["SUBMISSIONS_PAGE_V2_ENABLED"] = to_dict(
927
- self.submissions_page_v2_enabled.value
928
- )
929
910
  if self.simple_submission_mode_enabled.is_just:
930
911
  res["SIMPLE_SUBMISSION_MODE_ENABLED"] = to_dict(
931
912
  self.simple_submission_mode_enabled.value
@@ -936,15 +917,23 @@ class AllSiteSettings(FrontendSiteSettings):
936
917
  ] = to_dict(
937
918
  self.hide_code_editor_output_viewer_with_only_quiz_steps.value
938
919
  )
920
+ if (
921
+ self.hide_code_editor_filetree_controls_with_only_quiz_steps.is_just
922
+ ):
923
+ res[
924
+ "HIDE_CODE_EDITOR_FILETREE_CONTROLS_WITH_ONLY_QUIZ_STEPS"
925
+ ] = to_dict(
926
+ self.hide_code_editor_filetree_controls_with_only_quiz_steps.value
927
+ )
939
928
  if self.simple_submission_navigate_to_latest_editor_session.is_just:
940
929
  res[
941
930
  "SIMPLE_SUBMISSION_NAVIGATE_TO_LATEST_EDITOR_SESSION"
942
931
  ] = to_dict(
943
932
  self.simple_submission_navigate_to_latest_editor_session.value
944
933
  )
945
- if self.grade_viewer_and_editor_on_submission_enabled.is_just:
946
- res["GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED"] = to_dict(
947
- self.grade_viewer_and_editor_on_submission_enabled.value
934
+ if self.display_grades_enabled.is_just:
935
+ res["DISPLAY_GRADES_ENABLED"] = to_dict(
936
+ self.display_grades_enabled.value
948
937
  )
949
938
  if self.hide_empty_rubric_row_description.is_just:
950
939
  res["HIDE_EMPTY_RUBRIC_ROW_DESCRIPTION"] = to_dict(
@@ -954,6 +943,8 @@ class AllSiteSettings(FrontendSiteSettings):
954
943
  res["DEFAULT_SUBMISSION_PAGE_TAB"] = to_dict(
955
944
  self.default_submission_page_tab.value
956
945
  )
946
+ if self.analytics_enabled.is_just:
947
+ res["ANALYTICS_ENABLED"] = to_dict(self.analytics_enabled.value)
957
948
  if self.auto_test_heartbeat_interval.is_just:
958
949
  res["AUTO_TEST_HEARTBEAT_INTERVAL"] = to_dict(
959
950
  self.auto_test_heartbeat_interval.value
@@ -1044,10 +1035,6 @@ class AllSiteSettings(FrontendSiteSettings):
1044
1035
  res["JWT_ACCESS_TOKEN_EXPIRES"] = to_dict(
1045
1036
  self.jwt_access_token_expires.value
1046
1037
  )
1047
- if self.max_mirror_file_age.is_just:
1048
- res["MAX_MIRROR_FILE_AGE"] = to_dict(
1049
- self.max_mirror_file_age.value
1050
- )
1051
1038
  if self.sso_username_decollision_enabled.is_just:
1052
1039
  res["SSO_USERNAME_DECOLLISION_ENABLED"] = to_dict(
1053
1040
  self.sso_username_decollision_enabled.value
@@ -1191,13 +1178,14 @@ class AllSiteSettings(FrontendSiteSettings):
1191
1178
  assignment_description_on_teachers_submissions_page=parsed.ASSIGNMENT_DESCRIPTION_ON_TEACHERS_SUBMISSIONS_PAGE,
1192
1179
  submissions_per_page_enabled=parsed.SUBMISSIONS_PER_PAGE_ENABLED,
1193
1180
  inline_rubric_viewer_enabled=parsed.INLINE_RUBRIC_VIEWER_ENABLED,
1194
- submissions_page_v2_enabled=parsed.SUBMISSIONS_PAGE_V2_ENABLED,
1195
1181
  simple_submission_mode_enabled=parsed.SIMPLE_SUBMISSION_MODE_ENABLED,
1196
1182
  hide_code_editor_output_viewer_with_only_quiz_steps=parsed.HIDE_CODE_EDITOR_OUTPUT_VIEWER_WITH_ONLY_QUIZ_STEPS,
1183
+ hide_code_editor_filetree_controls_with_only_quiz_steps=parsed.HIDE_CODE_EDITOR_FILETREE_CONTROLS_WITH_ONLY_QUIZ_STEPS,
1197
1184
  simple_submission_navigate_to_latest_editor_session=parsed.SIMPLE_SUBMISSION_NAVIGATE_TO_LATEST_EDITOR_SESSION,
1198
- grade_viewer_and_editor_on_submission_enabled=parsed.GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED,
1185
+ display_grades_enabled=parsed.DISPLAY_GRADES_ENABLED,
1199
1186
  hide_empty_rubric_row_description=parsed.HIDE_EMPTY_RUBRIC_ROW_DESCRIPTION,
1200
1187
  default_submission_page_tab=parsed.DEFAULT_SUBMISSION_PAGE_TAB,
1188
+ analytics_enabled=parsed.ANALYTICS_ENABLED,
1201
1189
  auto_test_heartbeat_interval=parsed.AUTO_TEST_HEARTBEAT_INTERVAL,
1202
1190
  auto_test_heartbeat_max_missed=parsed.AUTO_TEST_HEARTBEAT_MAX_MISSED,
1203
1191
  auto_test_max_jobs_per_runner=parsed.AUTO_TEST_MAX_JOBS_PER_RUNNER,
@@ -1222,7 +1210,6 @@ class AllSiteSettings(FrontendSiteSettings):
1222
1210
  max_dynamo_file_size=parsed.MAX_DYNAMO_FILE_SIZE,
1223
1211
  max_document_update_size=parsed.MAX_DOCUMENT_UPDATE_SIZE,
1224
1212
  jwt_access_token_expires=parsed.JWT_ACCESS_TOKEN_EXPIRES,
1225
- max_mirror_file_age=parsed.MAX_MIRROR_FILE_AGE,
1226
1213
  sso_username_decollision_enabled=parsed.SSO_USERNAME_DECOLLISION_ENABLED,
1227
1214
  max_user_setting_amount=parsed.MAX_USER_SETTING_AMOUNT,
1228
1215
  send_registration_email=parsed.SEND_REGISTRATION_EMAIL,
@@ -0,0 +1,56 @@
1
+ """The module that defines the ``AnalyticsEnabledSetting`` model.
2
+
3
+ SPDX-License-Identifier: AGPL-3.0-only OR BSD-3-Clause-Clear
4
+ """
5
+
6
+ import typing as t
7
+ from dataclasses import dataclass, field
8
+
9
+ import cg_request_args as rqa
10
+
11
+ from ..utils import to_dict
12
+
13
+
14
+ @dataclass
15
+ class AnalyticsEnabledSetting:
16
+ """ """
17
+
18
+ name: "t.Literal['ANALYTICS_ENABLED']"
19
+ value: "t.Optional[bool]"
20
+
21
+ raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
22
+
23
+ data_parser: t.ClassVar = rqa.Lazy(
24
+ lambda: rqa.FixedMapping(
25
+ rqa.RequiredArgument(
26
+ "name",
27
+ rqa.StringEnum("ANALYTICS_ENABLED"),
28
+ doc="",
29
+ ),
30
+ rqa.RequiredArgument(
31
+ "value",
32
+ rqa.Nullable(rqa.SimpleValue.bool),
33
+ doc="",
34
+ ),
35
+ ).use_readable_describe(True)
36
+ )
37
+
38
+ def to_dict(self) -> t.Dict[str, t.Any]:
39
+ res: t.Dict[str, t.Any] = {
40
+ "name": to_dict(self.name),
41
+ "value": to_dict(self.value),
42
+ }
43
+ return res
44
+
45
+ @classmethod
46
+ def from_dict(
47
+ cls: t.Type["AnalyticsEnabledSetting"], d: t.Dict[str, t.Any]
48
+ ) -> "AnalyticsEnabledSetting":
49
+ parsed = cls.data_parser.try_parse(d)
50
+
51
+ res = cls(
52
+ name=parsed.name,
53
+ value=parsed.value,
54
+ )
55
+ res.raw_data = d
56
+ return res
@@ -0,0 +1,56 @@
1
+ """The module that defines the ``DisplayGradesEnabledSetting`` model.
2
+
3
+ SPDX-License-Identifier: AGPL-3.0-only OR BSD-3-Clause-Clear
4
+ """
5
+
6
+ import typing as t
7
+ from dataclasses import dataclass, field
8
+
9
+ import cg_request_args as rqa
10
+
11
+ from ..utils import to_dict
12
+
13
+
14
+ @dataclass
15
+ class DisplayGradesEnabledSetting:
16
+ """ """
17
+
18
+ name: "t.Literal['DISPLAY_GRADES_ENABLED']"
19
+ value: "t.Optional[bool]"
20
+
21
+ raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
22
+
23
+ data_parser: t.ClassVar = rqa.Lazy(
24
+ lambda: rqa.FixedMapping(
25
+ rqa.RequiredArgument(
26
+ "name",
27
+ rqa.StringEnum("DISPLAY_GRADES_ENABLED"),
28
+ doc="",
29
+ ),
30
+ rqa.RequiredArgument(
31
+ "value",
32
+ rqa.Nullable(rqa.SimpleValue.bool),
33
+ doc="",
34
+ ),
35
+ ).use_readable_describe(True)
36
+ )
37
+
38
+ def to_dict(self) -> t.Dict[str, t.Any]:
39
+ res: t.Dict[str, t.Any] = {
40
+ "name": to_dict(self.name),
41
+ "value": to_dict(self.value),
42
+ }
43
+ return res
44
+
45
+ @classmethod
46
+ def from_dict(
47
+ cls: t.Type["DisplayGradesEnabledSetting"], d: t.Dict[str, t.Any]
48
+ ) -> "DisplayGradesEnabledSetting":
49
+ parsed = cls.data_parser.try_parse(d)
50
+
51
+ res = cls(
52
+ name=parsed.name,
53
+ value=parsed.value,
54
+ )
55
+ res.raw_data = d
56
+ return res
@@ -269,9 +269,6 @@ class FrontendSiteSettings:
269
269
  #: otherwise use a dropdown with previous and next buttons to select
270
270
  #: categories.
271
271
  inline_rubric_viewer_enabled: Maybe["bool"] = Nothing
272
- #: Whether the new component for the submissions page is loaded instead of
273
- #: the old one.
274
- submissions_page_v2_enabled: Maybe["bool"] = Nothing
275
272
  #: An assignment with a simplified submission mode will allow only
276
273
  #: submissions made with the code editor. This will launch students
277
274
  #: directly in the code editor if they have not created a session yet, to
@@ -285,6 +282,11 @@ class FrontendSiteSettings:
285
282
  hide_code_editor_output_viewer_with_only_quiz_steps: Maybe[
286
283
  "bool"
287
284
  ] = Nothing
285
+ #: Whether we will hide the buttons to add a file and a directory in the
286
+ #: code editor, if we have a quiz-only atv2 config.
287
+ hide_code_editor_filetree_controls_with_only_quiz_steps: Maybe[
288
+ "bool"
289
+ ] = Nothing
288
290
  #: Whether we update the simple submission mode navigation to check if we
289
291
  #: have an editor session which is later than the submission when we launch
290
292
  #: the assignment. This feature is only available when the simple
@@ -293,12 +295,11 @@ class FrontendSiteSettings:
293
295
  simple_submission_navigate_to_latest_editor_session: Maybe[
294
296
  "bool"
295
297
  ] = Nothing
296
- #: Whether we show the grade viewer or editor on the submission page, the
297
- #: default behavior to inspect or edit the grade of a submission, we
298
- #: disable this for special cases. This does still show the result of the
299
- #: submission in the rubric if we have one, but only in readonly mode.
300
- #: Teachers cannot editor the rubric.
301
- grade_viewer_and_editor_on_submission_enabled: Maybe["bool"] = Nothing
298
+ #: Whether we should show the grades of submissions created within this
299
+ #: tenant. This will not hide the rubric results, only the grades. This is
300
+ #: meant to be used with LTI providers that apply penalties (for example
301
+ #: when handing in late) outside of CodeGrade.
302
+ display_grades_enabled: Maybe["bool"] = Nothing
302
303
  #: Whether we hide the rubric row description space in the rubric viewer if
303
304
  #: the description is empty.
304
305
  hide_empty_rubric_row_description: Maybe["bool"] = Nothing
@@ -307,6 +308,9 @@ class FrontendSiteSettings:
307
308
  "t.Literal['auto-test', 'code', 'feedback-overview', 'peer-feedback',"
308
309
  " 'smart']"
309
310
  ] = Nothing
311
+ #: Whether the Analytics tab should be available on assignments in this
312
+ #: tenant.
313
+ analytics_enabled: Maybe["bool"] = Nothing
310
314
 
311
315
  raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
312
316
 
@@ -952,14 +956,6 @@ class FrontendSiteSettings:
952
956
  " next buttons to select categories."
953
957
  ),
954
958
  ),
955
- rqa.OptionalArgument(
956
- "SUBMISSIONS_PAGE_V2_ENABLED",
957
- rqa.SimpleValue.bool,
958
- doc=(
959
- "Whether the new component for the submissions page is"
960
- " loaded instead of the old one."
961
- ),
962
- ),
963
959
  rqa.OptionalArgument(
964
960
  "SIMPLE_SUBMISSION_MODE_ENABLED",
965
961
  rqa.SimpleValue.bool,
@@ -983,6 +979,15 @@ class FrontendSiteSettings:
983
979
  " config."
984
980
  ),
985
981
  ),
982
+ rqa.OptionalArgument(
983
+ "HIDE_CODE_EDITOR_FILETREE_CONTROLS_WITH_ONLY_QUIZ_STEPS",
984
+ rqa.SimpleValue.bool,
985
+ doc=(
986
+ "Whether we will hide the buttons to add a file and a"
987
+ " directory in the code editor, if we have a quiz-only"
988
+ " atv2 config."
989
+ ),
990
+ ),
986
991
  rqa.OptionalArgument(
987
992
  "SIMPLE_SUBMISSION_NAVIGATE_TO_LATEST_EDITOR_SESSION",
988
993
  rqa.SimpleValue.bool,
@@ -996,15 +1001,14 @@ class FrontendSiteSettings:
996
1001
  ),
997
1002
  ),
998
1003
  rqa.OptionalArgument(
999
- "GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED",
1004
+ "DISPLAY_GRADES_ENABLED",
1000
1005
  rqa.SimpleValue.bool,
1001
1006
  doc=(
1002
- "Whether we show the grade viewer or editor on the"
1003
- " submission page, the default behavior to inspect or edit"
1004
- " the grade of a submission, we disable this for special"
1005
- " cases. This does still show the result of the submission"
1006
- " in the rubric if we have one, but only in readonly mode."
1007
- " Teachers cannot editor the rubric."
1007
+ "Whether we should show the grades of submissions created"
1008
+ " within this tenant. This will not hide the rubric"
1009
+ " results, only the grades. This is meant to be used with"
1010
+ " LTI providers that apply penalties (for example when"
1011
+ " handing in late) outside of CodeGrade."
1008
1012
  ),
1009
1013
  ),
1010
1014
  rqa.OptionalArgument(
@@ -1026,6 +1030,14 @@ class FrontendSiteSettings:
1026
1030
  ),
1027
1031
  doc="The default tab to select when going to a submission.",
1028
1032
  ),
1033
+ rqa.OptionalArgument(
1034
+ "ANALYTICS_ENABLED",
1035
+ rqa.SimpleValue.bool,
1036
+ doc=(
1037
+ "Whether the Analytics tab should be available on"
1038
+ " assignments in this tenant."
1039
+ ),
1040
+ ),
1029
1041
  ).use_readable_describe(True)
1030
1042
  )
1031
1043
 
@@ -1255,9 +1267,6 @@ class FrontendSiteSettings:
1255
1267
  self.inline_rubric_viewer_enabled = maybe_from_nullable(
1256
1268
  self.inline_rubric_viewer_enabled
1257
1269
  )
1258
- self.submissions_page_v2_enabled = maybe_from_nullable(
1259
- self.submissions_page_v2_enabled
1260
- )
1261
1270
  self.simple_submission_mode_enabled = maybe_from_nullable(
1262
1271
  self.simple_submission_mode_enabled
1263
1272
  )
@@ -1266,22 +1275,26 @@ class FrontendSiteSettings:
1266
1275
  self.hide_code_editor_output_viewer_with_only_quiz_steps
1267
1276
  )
1268
1277
  )
1269
- self.simple_submission_navigate_to_latest_editor_session = (
1278
+ self.hide_code_editor_filetree_controls_with_only_quiz_steps = (
1270
1279
  maybe_from_nullable(
1271
- self.simple_submission_navigate_to_latest_editor_session
1280
+ self.hide_code_editor_filetree_controls_with_only_quiz_steps
1272
1281
  )
1273
1282
  )
1274
- self.grade_viewer_and_editor_on_submission_enabled = (
1283
+ self.simple_submission_navigate_to_latest_editor_session = (
1275
1284
  maybe_from_nullable(
1276
- self.grade_viewer_and_editor_on_submission_enabled
1285
+ self.simple_submission_navigate_to_latest_editor_session
1277
1286
  )
1278
1287
  )
1288
+ self.display_grades_enabled = maybe_from_nullable(
1289
+ self.display_grades_enabled
1290
+ )
1279
1291
  self.hide_empty_rubric_row_description = maybe_from_nullable(
1280
1292
  self.hide_empty_rubric_row_description
1281
1293
  )
1282
1294
  self.default_submission_page_tab = maybe_from_nullable(
1283
1295
  self.default_submission_page_tab
1284
1296
  )
1297
+ self.analytics_enabled = maybe_from_nullable(self.analytics_enabled)
1285
1298
 
1286
1299
  def to_dict(self) -> t.Dict[str, t.Any]:
1287
1300
  res: t.Dict[str, t.Any] = {}
@@ -1585,10 +1598,6 @@ class FrontendSiteSettings:
1585
1598
  res["INLINE_RUBRIC_VIEWER_ENABLED"] = to_dict(
1586
1599
  self.inline_rubric_viewer_enabled.value
1587
1600
  )
1588
- if self.submissions_page_v2_enabled.is_just:
1589
- res["SUBMISSIONS_PAGE_V2_ENABLED"] = to_dict(
1590
- self.submissions_page_v2_enabled.value
1591
- )
1592
1601
  if self.simple_submission_mode_enabled.is_just:
1593
1602
  res["SIMPLE_SUBMISSION_MODE_ENABLED"] = to_dict(
1594
1603
  self.simple_submission_mode_enabled.value
@@ -1599,15 +1608,23 @@ class FrontendSiteSettings:
1599
1608
  ] = to_dict(
1600
1609
  self.hide_code_editor_output_viewer_with_only_quiz_steps.value
1601
1610
  )
1611
+ if (
1612
+ self.hide_code_editor_filetree_controls_with_only_quiz_steps.is_just
1613
+ ):
1614
+ res[
1615
+ "HIDE_CODE_EDITOR_FILETREE_CONTROLS_WITH_ONLY_QUIZ_STEPS"
1616
+ ] = to_dict(
1617
+ self.hide_code_editor_filetree_controls_with_only_quiz_steps.value
1618
+ )
1602
1619
  if self.simple_submission_navigate_to_latest_editor_session.is_just:
1603
1620
  res[
1604
1621
  "SIMPLE_SUBMISSION_NAVIGATE_TO_LATEST_EDITOR_SESSION"
1605
1622
  ] = to_dict(
1606
1623
  self.simple_submission_navigate_to_latest_editor_session.value
1607
1624
  )
1608
- if self.grade_viewer_and_editor_on_submission_enabled.is_just:
1609
- res["GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED"] = to_dict(
1610
- self.grade_viewer_and_editor_on_submission_enabled.value
1625
+ if self.display_grades_enabled.is_just:
1626
+ res["DISPLAY_GRADES_ENABLED"] = to_dict(
1627
+ self.display_grades_enabled.value
1611
1628
  )
1612
1629
  if self.hide_empty_rubric_row_description.is_just:
1613
1630
  res["HIDE_EMPTY_RUBRIC_ROW_DESCRIPTION"] = to_dict(
@@ -1617,6 +1634,8 @@ class FrontendSiteSettings:
1617
1634
  res["DEFAULT_SUBMISSION_PAGE_TAB"] = to_dict(
1618
1635
  self.default_submission_page_tab.value
1619
1636
  )
1637
+ if self.analytics_enabled.is_just:
1638
+ res["ANALYTICS_ENABLED"] = to_dict(self.analytics_enabled.value)
1620
1639
  return res
1621
1640
 
1622
1641
  @classmethod
@@ -1706,13 +1725,14 @@ class FrontendSiteSettings:
1706
1725
  assignment_description_on_teachers_submissions_page=parsed.ASSIGNMENT_DESCRIPTION_ON_TEACHERS_SUBMISSIONS_PAGE,
1707
1726
  submissions_per_page_enabled=parsed.SUBMISSIONS_PER_PAGE_ENABLED,
1708
1727
  inline_rubric_viewer_enabled=parsed.INLINE_RUBRIC_VIEWER_ENABLED,
1709
- submissions_page_v2_enabled=parsed.SUBMISSIONS_PAGE_V2_ENABLED,
1710
1728
  simple_submission_mode_enabled=parsed.SIMPLE_SUBMISSION_MODE_ENABLED,
1711
1729
  hide_code_editor_output_viewer_with_only_quiz_steps=parsed.HIDE_CODE_EDITOR_OUTPUT_VIEWER_WITH_ONLY_QUIZ_STEPS,
1730
+ hide_code_editor_filetree_controls_with_only_quiz_steps=parsed.HIDE_CODE_EDITOR_FILETREE_CONTROLS_WITH_ONLY_QUIZ_STEPS,
1712
1731
  simple_submission_navigate_to_latest_editor_session=parsed.SIMPLE_SUBMISSION_NAVIGATE_TO_LATEST_EDITOR_SESSION,
1713
- grade_viewer_and_editor_on_submission_enabled=parsed.GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED,
1732
+ display_grades_enabled=parsed.DISPLAY_GRADES_ENABLED,
1714
1733
  hide_empty_rubric_row_description=parsed.HIDE_EMPTY_RUBRIC_ROW_DESCRIPTION,
1715
1734
  default_submission_page_tab=parsed.DEFAULT_SUBMISSION_PAGE_TAB,
1735
+ analytics_enabled=parsed.ANALYTICS_ENABLED,
1716
1736
  )
1717
1737
  res.raw_data = d
1718
1738
  return res
@@ -1,4 +1,4 @@
1
- """The module that defines the ``GradeViewerAndEditorOnSubmissionEnabledSetting`` model.
1
+ """The module that defines the ``HideCodeEditorFiletreeControlsWithOnlyQuizStepsSetting`` model.
2
2
 
3
3
  SPDX-License-Identifier: AGPL-3.0-only OR BSD-3-Clause-Clear
4
4
  """
@@ -12,10 +12,10 @@ from ..utils import to_dict
12
12
 
13
13
 
14
14
  @dataclass
15
- class GradeViewerAndEditorOnSubmissionEnabledSetting:
15
+ class HideCodeEditorFiletreeControlsWithOnlyQuizStepsSetting:
16
16
  """ """
17
17
 
18
- name: "t.Literal['GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED']"
18
+ name: "t.Literal['HIDE_CODE_EDITOR_FILETREE_CONTROLS_WITH_ONLY_QUIZ_STEPS']"
19
19
  value: "t.Optional[bool]"
20
20
 
21
21
  raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
@@ -25,7 +25,7 @@ class GradeViewerAndEditorOnSubmissionEnabledSetting:
25
25
  rqa.RequiredArgument(
26
26
  "name",
27
27
  rqa.StringEnum(
28
- "GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED"
28
+ "HIDE_CODE_EDITOR_FILETREE_CONTROLS_WITH_ONLY_QUIZ_STEPS"
29
29
  ),
30
30
  doc="",
31
31
  ),
@@ -46,9 +46,9 @@ class GradeViewerAndEditorOnSubmissionEnabledSetting:
46
46
 
47
47
  @classmethod
48
48
  def from_dict(
49
- cls: t.Type["GradeViewerAndEditorOnSubmissionEnabledSetting"],
49
+ cls: t.Type["HideCodeEditorFiletreeControlsWithOnlyQuizStepsSetting"],
50
50
  d: t.Dict[str, t.Any],
51
- ) -> "GradeViewerAndEditorOnSubmissionEnabledSetting":
51
+ ) -> "HideCodeEditorFiletreeControlsWithOnlyQuizStepsSetting":
52
52
  parsed = cls.data_parser.try_parse(d)
53
53
 
54
54
  res = cls(