keep-bson-in-mongo-code

This commit is contained in:
Ned Batchelder
2013-09-13 14:29:56 -04:00
parent b1a76f1258
commit 37e81007d6
3 changed files with 14 additions and 14 deletions

View File

@@ -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

View File

@@ -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.

View File

@@ -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