Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
603a97fa
Commit
603a97fa
authored
Mar 10, 2014
by
Han Su Kim
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #2880 from edx/cale/fix-crazy-items-error
Cale/fix crazy items error
parents
d2c147bf
0a79b30e
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
63 additions
and
69 deletions
+63
-69
cms/djangoapps/contentstore/views/component.py
+0
-1
cms/envs/bok_choy.py
+0
-5
cms/envs/common.py
+23
-12
cms/envs/test.py
+0
-5
common/lib/xmodule/xmodule/html_module.py
+3
-3
common/lib/xmodule/xmodule/modulestore/mongo/base.py
+12
-23
common/lib/xmodule/xmodule/modulestore/split_mongo/split.py
+0
-1
common/lib/xmodule/xmodule/modulestore/tests/test_mongo.py
+2
-2
lms/envs/bok_choy.py
+0
-5
lms/envs/common.py
+23
-12
No files found.
cms/djangoapps/contentstore/views/component.py
View file @
603a97fa
...
...
@@ -23,7 +23,6 @@ from xblock.exceptions import NoSuchHandlerError
from
xblock.fields
import
Scope
from
xblock.plugin
import
PluginMissingError
from
xblock.runtime
import
Mixologist
from
xmodule.x_module
import
prefer_xmodules
from
lms.lib.xblock.runtime
import
unquote_slashes
...
...
cms/envs/bok_choy.py
View file @
603a97fa
...
...
@@ -16,8 +16,6 @@ os.environ['SERVICE_VARIANT'] = 'bok_choy'
os
.
environ
[
'CONFIG_ROOT'
]
=
path
(
__file__
)
.
abspath
()
.
dirname
()
#pylint: disable=E1120
from
.aws
import
*
# pylint: disable=W0401, W0614
from
xmodule.x_module
import
prefer_xmodules
######################### Testing overrides ####################################
...
...
@@ -49,8 +47,5 @@ for log_name, log_level in LOG_OVERRIDES:
# Use the auto_auth workflow for creating users and logging them in
FEATURES
[
'AUTOMATIC_AUTH_FOR_TESTING'
]
=
True
# Enable XBlocks
XBLOCK_SELECT_FUNCTION
=
prefer_xmodules
# Unfortunately, we need to use debug mode to serve staticfiles
DEBUG
=
True
cms/envs/common.py
View file @
603a97fa
...
...
@@ -24,6 +24,7 @@ Longer TODO:
# want to import all variables from base settings files
# pylint: disable=W0401, W0611, W0614
import
imp
import
sys
import
lms.envs.common
from
lms.envs.common
import
(
...
...
@@ -33,8 +34,6 @@ from path import path
from
lms.lib.xblock.mixin
import
LmsBlockMixin
from
cms.lib.xblock.mixin
import
CmsBlockMixin
from
xmodule.modulestore.inheritance
import
InheritanceMixin
from
xmodule.x_module
import
XModuleMixin
,
prefer_xmodules
from
dealer.git
import
git
############################ FEATURE CONFIGURATION #############################
...
...
@@ -218,6 +217,10 @@ X_FRAME_OPTIONS = 'ALLOW'
############# XBlock Configuration ##########
# Import after sys.path fixup
from
xmodule.modulestore.inheritance
import
InheritanceMixin
from
xmodule.x_module
import
XModuleMixin
,
prefer_xmodules
# This should be moved into an XBlock Runtime/Application object
# once the responsibility of XBlock creation is moved out of modulestore - cpennington
XBLOCK_MIXINS
=
(
LmsBlockMixin
,
CmsBlockMixin
,
InheritanceMixin
,
XModuleMixin
)
...
...
@@ -467,9 +470,6 @@ INSTALLED_APPS = (
# for course creator table
'django.contrib.admin'
,
# XBlocks containing migrations
'mentoring'
,
# for managing course modes
'course_modes'
,
...
...
@@ -536,11 +536,22 @@ MAX_FAILED_LOGIN_ATTEMPTS_ALLOWED = 5
MAX_FAILED_LOGIN_ATTEMPTS_LOCKOUT_PERIOD_SECS
=
15
*
60
### JSdraw (only installed in some instances)
### Apps only installed in some instances
OPTIONAL_APPS
=
(
'edx_jsdraw'
,
'mentoring'
,
)
try
:
import
edx_jsdraw
except
ImportError
:
pass
else
:
INSTALLED_APPS
+=
(
'edx_jsdraw'
,)
for
app_name
in
OPTIONAL_APPS
:
# First attempt to only find the module rather than actually importing it,
# to avoid circular references - only try to import if it can't be found
# by find_module, which doesn't work with import hooks
try
:
imp
.
find_module
(
app_name
)
except
ImportError
:
try
:
__import__
(
app_name
)
except
ImportError
:
continue
INSTALLED_APPS
+=
(
app_name
,)
cms/envs/test.py
View file @
603a97fa
...
...
@@ -157,11 +157,6 @@ INSTALLED_APPS += ('external_auth', )
filterwarnings
(
'ignore'
,
message
=
'No request passed to the backend, unable to rate-limit'
)
################################# XBLOCK ######################################
from
xmodule.x_module
import
prefer_xmodules
XBLOCK_SELECT_FUNCTION
=
prefer_xmodules
################################# CELERY ######################################
CELERY_ALWAYS_EAGER
=
True
...
...
common/lib/xmodule/xmodule/html_module.py
View file @
603a97fa
...
...
@@ -229,7 +229,7 @@ class AboutFields(object):
)
data
=
String
(
help
=
"Html contents to display for this module"
,
default
=
""
,
default
=
u
""
,
scope
=
Scope
.
content
)
...
...
@@ -263,7 +263,7 @@ class StaticTabFields(object):
default
=
"Empty"
,
)
data
=
String
(
default
=
textwrap
.
dedent
(
"""
\
default
=
textwrap
.
dedent
(
u
"""
\
<p>This is where you can add additional pages to your courseware. Click the 'edit' button to begin editing.</p>
"""
),
scope
=
Scope
.
content
,
...
...
@@ -300,7 +300,7 @@ class CourseInfoFields(object):
)
data
=
String
(
help
=
"Html contents to display for this module"
,
default
=
"<ol></ol>"
,
default
=
u
"<ol></ol>"
,
scope
=
Scope
.
content
)
...
...
common/lib/xmodule/xmodule/modulestore/mongo/base.py
View file @
603a97fa
...
...
@@ -60,7 +60,10 @@ class MongoKeyValueStore(InheritanceKeyValueStore):
"""
def
__init__
(
self
,
data
,
children
,
metadata
):
super
(
MongoKeyValueStore
,
self
)
.
__init__
()
self
.
_data
=
data
if
not
isinstance
(
data
,
dict
):
self
.
_data
=
{
'data'
:
data
}
else
:
self
.
_data
=
data
self
.
_children
=
children
self
.
_metadata
=
metadata
...
...
@@ -72,10 +75,7 @@ class MongoKeyValueStore(InheritanceKeyValueStore):
elif
key
.
scope
==
Scope
.
settings
:
return
self
.
_metadata
[
key
.
field_name
]
elif
key
.
scope
==
Scope
.
content
:
if
key
.
field_name
==
'data'
and
not
isinstance
(
self
.
_data
,
dict
):
return
self
.
_data
else
:
return
self
.
_data
[
key
.
field_name
]
return
self
.
_data
[
key
.
field_name
]
else
:
raise
InvalidScopeError
(
key
)
...
...
@@ -85,10 +85,7 @@ class MongoKeyValueStore(InheritanceKeyValueStore):
elif
key
.
scope
==
Scope
.
settings
:
self
.
_metadata
[
key
.
field_name
]
=
value
elif
key
.
scope
==
Scope
.
content
:
if
key
.
field_name
==
'data'
and
not
isinstance
(
self
.
_data
,
dict
):
self
.
_data
=
value
else
:
self
.
_data
[
key
.
field_name
]
=
value
self
.
_data
[
key
.
field_name
]
=
value
else
:
raise
InvalidScopeError
(
key
)
...
...
@@ -99,9 +96,7 @@ class MongoKeyValueStore(InheritanceKeyValueStore):
if
key
.
field_name
in
self
.
_metadata
:
del
self
.
_metadata
[
key
.
field_name
]
elif
key
.
scope
==
Scope
.
content
:
if
key
.
field_name
==
'data'
and
not
isinstance
(
self
.
_data
,
dict
):
self
.
_data
=
None
else
:
if
key
.
field_name
in
self
.
_data
:
del
self
.
_data
[
key
.
field_name
]
else
:
raise
InvalidScopeError
(
key
)
...
...
@@ -112,10 +107,7 @@ class MongoKeyValueStore(InheritanceKeyValueStore):
elif
key
.
scope
==
Scope
.
settings
:
return
key
.
field_name
in
self
.
_metadata
elif
key
.
scope
==
Scope
.
content
:
if
key
.
field_name
==
'data'
and
not
isinstance
(
self
.
_data
,
dict
):
return
True
else
:
return
key
.
field_name
in
self
.
_data
return
key
.
field_name
in
self
.
_data
else
:
return
False
...
...
@@ -640,6 +632,10 @@ class MongoModuleStore(ModuleStoreWriteBase):
# layer but added it here to enable quick conversion. I'll need to reconcile these.
if
metadata
is
None
:
metadata
=
{}
if
definition_data
is
None
:
definition_data
=
{}
if
system
is
None
:
services
=
{}
if
self
.
i18n_service
:
...
...
@@ -658,11 +654,6 @@ class MongoModuleStore(ModuleStoreWriteBase):
services
=
services
,
)
xblock_class
=
system
.
load_block_type
(
location
.
category
)
if
definition_data
is
None
:
if
hasattr
(
xblock_class
,
'data'
)
and
xblock_class
.
data
.
default
is
not
None
:
definition_data
=
xblock_class
.
data
.
default
else
:
definition_data
=
{}
dbmodel
=
self
.
_create_new_field_data
(
location
.
category
,
location
,
definition_data
,
metadata
)
xmodule
=
system
.
construct_xblock_from_class
(
xblock_class
,
...
...
@@ -796,8 +787,6 @@ class MongoModuleStore(ModuleStoreWriteBase):
"""
try
:
definition_data
=
xblock
.
get_explicitly_set_fields_by_scope
()
if
len
(
definition_data
)
==
1
and
'data'
in
definition_data
:
definition_data
=
definition_data
[
'data'
]
payload
=
{
'definition.data'
:
definition_data
,
'metadata'
:
own_metadata
(
xblock
),
...
...
common/lib/xmodule/xmodule/modulestore/split_mongo/split.py
View file @
603a97fa
...
...
@@ -56,7 +56,6 @@ import copy
from
pytz
import
UTC
from
xmodule.errortracker
import
null_error_tracker
from
xmodule.x_module
import
prefer_xmodules
from
xmodule.modulestore.locator
import
(
BlockUsageLocator
,
DefinitionLocator
,
CourseLocator
,
VersionTree
,
LocalId
,
Locator
)
...
...
common/lib/xmodule/xmodule/modulestore/tests/test_mongo.py
View file @
603a97fa
...
...
@@ -299,7 +299,7 @@ class TestMongoKeyValueStore(object):
assert_false
(
self
.
kvs
.
has
(
key
))
def
test_read_non_dict_data
(
self
):
self
.
kvs
.
_data
=
'xml_data'
self
.
kvs
=
MongoKeyValueStore
(
'xml_data'
,
self
.
children
,
self
.
metadata
)
assert_equals
(
'xml_data'
,
self
.
kvs
.
get
(
KeyValueStore
.
Key
(
Scope
.
content
,
None
,
None
,
'data'
)))
def
_check_write
(
self
,
key
,
value
):
...
...
@@ -312,7 +312,7 @@ class TestMongoKeyValueStore(object):
yield
(
self
.
_check_write
,
KeyValueStore
.
Key
(
Scope
.
settings
,
None
,
None
,
'meta'
),
'new_settings'
)
def
test_write_non_dict_data
(
self
):
self
.
kvs
.
_data
=
'xml_data'
self
.
kvs
=
MongoKeyValueStore
(
'xml_data'
,
self
.
children
,
self
.
metadata
)
self
.
_check_write
(
KeyValueStore
.
Key
(
Scope
.
content
,
None
,
None
,
'data'
),
'new_data'
)
def
test_write_invalid_scope
(
self
):
...
...
lms/envs/bok_choy.py
View file @
603a97fa
...
...
@@ -4,8 +4,6 @@ Settings for bok choy tests
import
os
from
path
import
path
from
xmodule.x_module
import
prefer_xmodules
CONFIG_ROOT
=
path
(
__file__
)
.
abspath
()
.
dirname
()
#pylint: disable=E1120
TEST_ROOT
=
CONFIG_ROOT
.
dirname
()
.
dirname
()
/
"test_root"
...
...
@@ -60,8 +58,5 @@ LOG_OVERRIDES = [
for
log_name
,
log_level
in
LOG_OVERRIDES
:
logging
.
getLogger
(
log_name
)
.
setLevel
(
log_level
)
# Enable XBlocks
XBLOCK_SELECT_FUNCTION
=
prefer_xmodules
# Unfortunately, we need to use debug mode to serve staticfiles
DEBUG
=
True
lms/envs/common.py
View file @
603a97fa
...
...
@@ -26,6 +26,7 @@ Longer TODO:
import
sys
import
os
import
imp
import
json
from
path
import
path
...
...
@@ -33,8 +34,6 @@ from path import path
from
.discussionsettings
import
*
from
lms.lib.xblock.mixin
import
LmsBlockMixin
from
xmodule.modulestore.inheritance
import
InheritanceMixin
from
xmodule.x_module
import
XModuleMixin
,
prefer_xmodules
################################### FEATURES ###################################
# The display name of the platform to be used in templates/emails/etc.
...
...
@@ -431,6 +430,10 @@ DOC_STORE_CONFIG = {
############# XBlock Configuration ##########
# Import after sys.path fixup
from
xmodule.modulestore.inheritance
import
InheritanceMixin
from
xmodule.x_module
import
XModuleMixin
,
prefer_xmodules
# This should be moved into an XBlock Runtime/Application object
# once the responsibility of XBlock creation is moved out of modulestore - cpennington
XBLOCK_MIXINS
=
(
LmsBlockMixin
,
InheritanceMixin
,
XModuleMixin
)
...
...
@@ -1163,9 +1166,6 @@ INSTALLED_APPS = (
'reverification'
,
'embargo'
,
# XBlocks containing migrations
'mentoring'
,
)
######################### MARKETING SITE ###############################
...
...
@@ -1458,11 +1458,22 @@ ALL_LANGUAGES = (
)
###
JSdraw (only installed in some instances)
###
Apps only installed in some instances
try
:
import
edx_jsdraw
except
ImportError
:
pass
else
:
INSTALLED_APPS
+=
(
'edx_jsdraw'
,)
OPTIONAL_APPS
=
(
'edx_jsdraw'
,
'mentoring'
,
)
for
app_name
in
OPTIONAL_APPS
:
# First attempt to only find the module rather than actually importing it,
# to avoid circular references - only try to import if it can't be found
# by find_module, which doesn't work with import hooks
try
:
imp
.
find_module
(
app_name
)
except
ImportError
:
try
:
__import__
(
app_name
)
except
ImportError
:
continue
INSTALLED_APPS
+=
(
app_name
,)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment