This is a first stage for removing the LegacyWaffle* classes. LegacyWaffleFlag usage replaced with WaffleFlag; LegacyWaffleSwitche usage replaced with WaffleSwitch; New CourseWaffleFlag added to the temporary module __future__ as FutureCourseWaffleFlag; Updated all the imports to use CourseWaffleFlag from the __future__ module; BREAKING CHANGE: A number of toggle related constants (e.g. ENABLE_ACCESSIBILITY_POLICY_PAGE) changed types. They were strings, and are now toggle instances (e.g. WaffleSwitch). Although the entire refactor should be self-contained in edx-platform, if any plugins or dependencies were directly using these constants, they will break. If this is the case, try to find a better publicized way of exposing those toggles.
24 lines
697 B
Python
24 lines
697 B
Python
"""
|
|
Togglable settings for Course Grading behavior
|
|
"""
|
|
from openedx.core.djangoapps.waffle_utils.__future__ import FutureCourseWaffleFlag as CourseWaffleFlag
|
|
|
|
|
|
WAFFLE_NAMESPACE = 'grades'
|
|
|
|
# edx/edx-platform feature
|
|
MATERIAL_RECOMPUTE_ONLY = 'MATERIAL_RECOMPUTE_ONLY'
|
|
|
|
MATERIAL_RECOMPUTE_ONLY_FLAG = CourseWaffleFlag( # lint-amnesty, pylint: disable=toggle-missing-annotation
|
|
f'{WAFFLE_NAMESPACE}.{MATERIAL_RECOMPUTE_ONLY}', __name__
|
|
)
|
|
|
|
|
|
def material_recompute_only(course_key):
|
|
"""
|
|
Checks to see if the CourseWaffleFlag or Django setting for material recomputer only is enabled
|
|
"""
|
|
if MATERIAL_RECOMPUTE_ONLY_FLAG.is_enabled(course_key):
|
|
return True
|
|
return False
|