Commit 1932c126 by Ned Batchelder Committed by Calen Pennington

Rename DbModel to KvsFieldData.

parent 679f1d68
...@@ -12,7 +12,7 @@ from xmodule.error_module import ErrorDescriptor ...@@ -12,7 +12,7 @@ from xmodule.error_module import ErrorDescriptor
from xmodule.exceptions import NotFoundError, ProcessingError from xmodule.exceptions import NotFoundError, ProcessingError
from xmodule.modulestore.django import modulestore from xmodule.modulestore.django import modulestore
from xmodule.x_module import ModuleSystem from xmodule.x_module import ModuleSystem
from xblock.runtime import DbModel from xblock.runtime import KvsFieldData
from xblock.django.request import webob_to_django_response, django_to_webob_request from xblock.django.request import webob_to_django_response, django_to_webob_request
from xblock.exceptions import NoSuchHandlerError from xblock.exceptions import NoSuchHandlerError
...@@ -142,7 +142,7 @@ def _load_preview_module(request, descriptor): ...@@ -142,7 +142,7 @@ def _load_preview_module(request, descriptor):
request: The active django request request: The active django request
descriptor: An XModuleDescriptor descriptor: An XModuleDescriptor
""" """
student_data = DbModel(SessionKeyValueStore(request)) student_data = KvsFieldData(SessionKeyValueStore(request))
descriptor.bind_for_student( descriptor.bind_for_student(
_preview_module_system(request, descriptor), _preview_module_system(request, descriptor),
LmsFieldData(descriptor._field_data, student_data), # pylint: disable=protected-access LmsFieldData(descriptor._field_data, student_data), # pylint: disable=protected-access
......
"""
Support for inheritance of fields down an XBlock hierarchy.
"""
from datetime import datetime from datetime import datetime
from pytz import UTC from pytz import UTC
from xblock.fields import Scope, Boolean, String, Float, XBlockMixin, Dict from xblock.fields import Scope, Boolean, String, Float, XBlockMixin, Dict
from xblock.runtime import KeyValueStore, KvsFieldData
from xmodule.fields import Date, Timedelta from xmodule.fields import Date, Timedelta
from xblock.runtime import KeyValueStore
class InheritanceMixin(XBlockMixin): class InheritanceMixin(XBlockMixin):
...@@ -113,6 +118,10 @@ def own_metadata(module): ...@@ -113,6 +118,10 @@ def own_metadata(module):
return module.get_explicitly_set_fields_by_scope(Scope.settings) return module.get_explicitly_set_fields_by_scope(Scope.settings)
class InheritanceFieldData(KvsFieldData):
pass
class InheritanceKeyValueStore(KeyValueStore): class InheritanceKeyValueStore(KeyValueStore):
""" """
Common superclass for kvs's which know about inheritance of settings. Offers simple Common superclass for kvs's which know about inheritance of settings. Offers simple
......
...@@ -26,7 +26,7 @@ from importlib import import_module ...@@ -26,7 +26,7 @@ from importlib import import_module
from xmodule.errortracker import null_error_tracker, exc_info_to_str from xmodule.errortracker import null_error_tracker, exc_info_to_str
from xmodule.mako_module import MakoDescriptorSystem from xmodule.mako_module import MakoDescriptorSystem
from xmodule.error_module import ErrorDescriptor from xmodule.error_module import ErrorDescriptor
from xblock.runtime import DbModel from xblock.runtime import KvsFieldData
from xblock.exceptions import InvalidScopeError from xblock.exceptions import InvalidScopeError
from xblock.fields import Scope, ScopeIds from xblock.fields import Scope, ScopeIds
...@@ -187,7 +187,7 @@ class CachingDescriptorSystem(MakoDescriptorSystem): ...@@ -187,7 +187,7 @@ class CachingDescriptorSystem(MakoDescriptorSystem):
metadata, metadata,
) )
field_data = DbModel(kvs) field_data = KvsFieldData(kvs)
scope_ids = ScopeIds(None, category, location, location) scope_ids = ScopeIds(None, category, location, location)
module = self.construct_xblock_from_class(class_, scope_ids, field_data) module = self.construct_xblock_from_class(class_, scope_ids, field_data)
if self.cached_metadata is not None: if self.cached_metadata is not None:
...@@ -888,5 +888,5 @@ class MongoModuleStore(ModuleStoreWriteBase): ...@@ -888,5 +888,5 @@ class MongoModuleStore(ModuleStoreWriteBase):
metadata, metadata,
) )
field_data = DbModel(kvs) field_data = KvsFieldData(kvs)
return field_data return field_data
...@@ -4,7 +4,7 @@ from xmodule.mako_module import MakoDescriptorSystem ...@@ -4,7 +4,7 @@ from xmodule.mako_module import MakoDescriptorSystem
from xmodule.modulestore.locator import BlockUsageLocator, LocalId from xmodule.modulestore.locator import BlockUsageLocator, LocalId
from xmodule.error_module import ErrorDescriptor from xmodule.error_module import ErrorDescriptor
from xmodule.errortracker import exc_info_to_str from xmodule.errortracker import exc_info_to_str
from xblock.runtime import DbModel from xblock.runtime import KvsFieldData
from ..exceptions import ItemNotFoundError from ..exceptions import ItemNotFoundError
from .split_mongo_kvs import SplitMongoKVS from .split_mongo_kvs import SplitMongoKVS
from xblock.fields import ScopeIds from xblock.fields import ScopeIds
...@@ -102,7 +102,7 @@ class CachingDescriptorSystem(MakoDescriptorSystem): ...@@ -102,7 +102,7 @@ class CachingDescriptorSystem(MakoDescriptorSystem):
json_data.get('fields', {}), json_data.get('fields', {}),
json_data.get('_inherited_settings'), json_data.get('_inherited_settings'),
) )
field_data = DbModel(kvs) field_data = KvsFieldData(kvs)
try: try:
module = self.construct_xblock_from_class( module = self.construct_xblock_from_class(
......
...@@ -8,7 +8,7 @@ from nose.tools import assert_equals, assert_not_equals, assert_true, assert_fal ...@@ -8,7 +8,7 @@ from nose.tools import assert_equals, assert_not_equals, assert_true, assert_fal
from xblock.field_data import DictFieldData from xblock.field_data import DictFieldData
from xblock.fields import Scope, String, Dict, Boolean, Integer, Float, Any, List from xblock.fields import Scope, String, Dict, Boolean, Integer, Float, Any, List
from xblock.runtime import DbModel from xblock.runtime import KvsFieldData
from xmodule.fields import Date, Timedelta, RelativeTime from xmodule.fields import Date, Timedelta, RelativeTime
from xmodule.modulestore.inheritance import InheritanceKeyValueStore, InheritanceMixin from xmodule.modulestore.inheritance import InheritanceKeyValueStore, InheritanceMixin
...@@ -100,7 +100,7 @@ class EditableMetadataFieldsTest(unittest.TestCase): ...@@ -100,7 +100,7 @@ class EditableMetadataFieldsTest(unittest.TestCase):
def test_inherited_field(self): def test_inherited_field(self):
kvs = InheritanceKeyValueStore(initial_values={}, inherited_settings={'showanswer': 'inherited'}) kvs = InheritanceKeyValueStore(initial_values={}, inherited_settings={'showanswer': 'inherited'})
model_data = DbModel(kvs) model_data = KvsFieldData(kvs)
descriptor = self.get_descriptor(model_data) descriptor = self.get_descriptor(model_data)
editable_fields = descriptor.editable_metadata_fields editable_fields = descriptor.editable_metadata_fields
self.assert_field_values( self.assert_field_values(
...@@ -113,7 +113,7 @@ class EditableMetadataFieldsTest(unittest.TestCase): ...@@ -113,7 +113,7 @@ class EditableMetadataFieldsTest(unittest.TestCase):
initial_values={'showanswer': 'explicit'}, initial_values={'showanswer': 'explicit'},
inherited_settings={'showanswer': 'inheritable value'} inherited_settings={'showanswer': 'inheritable value'}
) )
model_data = DbModel(kvs) model_data = KvsFieldData(kvs)
descriptor = self.get_descriptor(model_data) descriptor = self.get_descriptor(model_data)
editable_fields = descriptor.editable_metadata_fields editable_fields = descriptor.editable_metadata_fields
self.assert_field_values( self.assert_field_values(
......
...@@ -31,6 +31,7 @@ from xmodule.fields import RelativeTime ...@@ -31,6 +31,7 @@ from xmodule.fields import RelativeTime
from xmodule.modulestore.inheritance import InheritanceKeyValueStore from xmodule.modulestore.inheritance import InheritanceKeyValueStore
from xblock.runtime import DbModel from xblock.runtime import DbModel
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
...@@ -235,7 +236,7 @@ class VideoDescriptor(VideoFields, TabsEditingDescriptor, EmptyDataRawDescriptor ...@@ -235,7 +236,7 @@ class VideoDescriptor(VideoFields, TabsEditingDescriptor, EmptyDataRawDescriptor
field_data = cls._parse_video_xml(xml_data) field_data = cls._parse_video_xml(xml_data)
field_data['location'] = location field_data['location'] = location
kvs = InheritanceKeyValueStore(initial_values=field_data) kvs = InheritanceKeyValueStore(initial_values=field_data)
field_data = DbModel(kvs) field_data = KvsFieldData(kvs)
video = system.construct_xblock_from_class( video = system.construct_xblock_from_class(
cls, cls,
# We're loading a descriptor, so student_id is meaningless # We're loading a descriptor, so student_id is meaningless
......
...@@ -10,7 +10,7 @@ from xmodule.x_module import XModuleDescriptor, policy_key ...@@ -10,7 +10,7 @@ from xmodule.x_module import XModuleDescriptor, policy_key
from xmodule.modulestore import Location from xmodule.modulestore import Location
from xmodule.modulestore.inheritance import own_metadata, InheritanceKeyValueStore from xmodule.modulestore.inheritance import own_metadata, InheritanceKeyValueStore
from xmodule.modulestore.xml_exporter import EdxJSONEncoder from xmodule.modulestore.xml_exporter import EdxJSONEncoder
from xblock.runtime import DbModel from xblock.runtime import KvsFieldData
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
...@@ -329,7 +329,7 @@ class XmlDescriptor(XModuleDescriptor): ...@@ -329,7 +329,7 @@ class XmlDescriptor(XModuleDescriptor):
field_data['location'] = location field_data['location'] = location
field_data['category'] = xml_object.tag field_data['category'] = xml_object.tag
kvs = InheritanceKeyValueStore(initial_values=field_data) kvs = InheritanceKeyValueStore(initial_values=field_data)
field_data = DbModel(kvs) field_data = KvsFieldData(kvs)
return system.construct_xblock_from_class( return system.construct_xblock_from_class(
cls, cls,
......
...@@ -317,7 +317,7 @@ class DjangoKeyValueStore(KeyValueStore): ...@@ -317,7 +317,7 @@ class DjangoKeyValueStore(KeyValueStore):
Provide a bulk save mechanism. Provide a bulk save mechanism.
`kv_dict`: A dictionary of dirty fields that maps `kv_dict`: A dictionary of dirty fields that maps
xblock.DbModel._key : value xblock.KvsFieldData._key : value
""" """
saved_fields = [] saved_fields = []
......
...@@ -29,7 +29,7 @@ from util.json_request import JsonResponse ...@@ -29,7 +29,7 @@ from util.json_request import JsonResponse
from util.sandboxing import can_execute_unsafe_code from util.sandboxing import can_execute_unsafe_code
from xblock.core import XBlock from xblock.core import XBlock
from xblock.fields import Scope from xblock.fields import Scope
from xblock.runtime import DbModel, KeyValueStore from xblock.runtime import KvsFieldData
from xblock.exceptions import NoSuchHandlerError from xblock.exceptions import NoSuchHandlerError
from xblock.django.request import django_to_webob_request, webob_to_django_response from xblock.django.request import django_to_webob_request, webob_to_django_response
from xmodule.error_module import ErrorDescriptor, NonStaffErrorDescriptor from xmodule.error_module import ErrorDescriptor, NonStaffErrorDescriptor
...@@ -222,7 +222,7 @@ def get_module_for_descriptor_internal(user, descriptor, field_data_cache, cours ...@@ -222,7 +222,7 @@ def get_module_for_descriptor_internal(user, descriptor, field_data_cache, cours
if not has_access(user, descriptor, 'load', course_id): if not has_access(user, descriptor, 'load', course_id):
return None return None
student_data = DbModel(DjangoKeyValueStore(field_data_cache)) student_data = KvsFieldData(DjangoKeyValueStore(field_data_cache))
descriptor._field_data = LmsFieldData(descriptor._field_data, student_data) descriptor._field_data = LmsFieldData(descriptor._field_data, student_data)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment