diff --git a/common/lib/xmodule/xmodule/modulestore/__init__.py b/common/lib/xmodule/xmodule/modulestore/__init__.py index e7bcc171f7..e53b4adb5e 100644 --- a/common/lib/xmodule/xmodule/modulestore/__init__.py +++ b/common/lib/xmodule/xmodule/modulestore/__init__.py @@ -10,7 +10,6 @@ from collections import namedtuple from .exceptions import InvalidLocationError, InsufficientSpecificationError from xmodule.errortracker import make_error_tracker -from bson.son import SON log = logging.getLogger('mitx.' + 'modulestore') @@ -449,13 +448,3 @@ class ModuleStoreBase(ModuleStore): if c.id == course_id: return c return None - - -def namedtuple_to_son(namedtuple, prefix=''): - """ - Converts a namedtuple into a SON object with the same key order - """ - son = SON() - for idx, field_name in enumerate(namedtuple._fields): - son[prefix + field_name] = namedtuple[idx] - return son diff --git a/common/lib/xmodule/xmodule/modulestore/mongo/base.py b/common/lib/xmodule/xmodule/modulestore/mongo/base.py index 631dca9846..a1469437be 100644 --- a/common/lib/xmodule/xmodule/modulestore/mongo/base.py +++ b/common/lib/xmodule/xmodule/modulestore/mongo/base.py @@ -17,6 +17,7 @@ import sys import logging import copy +from bson.son import SON from fs.osfs import OSFS from itertools import repeat from path import path @@ -31,7 +32,7 @@ from xblock.runtime import DbModel from xblock.exceptions import InvalidScopeError from xblock.fields import Scope, ScopeIds -from xmodule.modulestore import ModuleStoreBase, Location, namedtuple_to_son, MONGO_MODULESTORE_TYPE +from xmodule.modulestore import ModuleStoreBase, Location, MONGO_MODULESTORE_TYPE from xmodule.modulestore.exceptions import ItemNotFoundError from xmodule.modulestore.inheritance import own_metadata, InheritanceMixin, inherit_metadata, InheritanceKeyValueStore @@ -215,6 +216,16 @@ class CachingDescriptorSystem(MakoDescriptorSystem): ) +def namedtuple_to_son(namedtuple, prefix=''): + """ + Converts a namedtuple into a SON object with the same key order + """ + son = SON() + for idx, field_name in enumerate(namedtuple._fields): + son[prefix + field_name] = namedtuple[idx] + return son + + def location_to_query(location, wildcard=True): """ Takes a Location and returns a SON object that will query for that location. diff --git a/common/lib/xmodule/xmodule/modulestore/mongo/draft.py b/common/lib/xmodule/xmodule/modulestore/mongo/draft.py index 610f7b1b8a..4aa643e118 100644 --- a/common/lib/xmodule/xmodule/modulestore/mongo/draft.py +++ b/common/lib/xmodule/xmodule/modulestore/mongo/draft.py @@ -9,10 +9,10 @@ and otherwise returns i4x://org/course/cat/name). from datetime import datetime from xmodule.exceptions import InvalidVersionError -from xmodule.modulestore import Location, namedtuple_to_son +from xmodule.modulestore import Location from xmodule.modulestore.exceptions import ItemNotFoundError, DuplicateItemError from xmodule.modulestore.inheritance import own_metadata -from xmodule.modulestore.mongo.base import location_to_query, get_course_id_no_run, MongoModuleStore +from xmodule.modulestore.mongo.base import location_to_query, namedtuple_to_son, get_course_id_no_run, MongoModuleStore import pymongo from pytz import UTC