""":class:`~xblock.field_data.FieldData` subclasses used by the CMS"""fromxblock.field_dataimportSplitFieldDatafromxblock.fieldsimportScopeclassCmsFieldData(SplitFieldData):""" A :class:`~xblock.field_data.FieldData` that reads all UserScope.ONE and UserScope.ALL fields from `student_data` and all UserScope.NONE fields from `authored_data`. It allows writing to`authored_data`. """def__init__(self,authored_data,student_data):# Make sure that we don't repeatedly nest CmsFieldData instancesifisinstance(authored_data,CmsFieldData):authored_data=authored_data._authored_data# pylint: disable=protected-accessself._authored_data=authored_dataself._student_data=student_datasuper(CmsFieldData,self).__init__({Scope.content:authored_data,Scope.settings:authored_data,Scope.parent:authored_data,Scope.children:authored_data,Scope.user_state_summary:student_data,Scope.user_state:student_data,Scope.user_info:student_data,Scope.preferences:student_data,})