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
02dfa09c
Commit
02dfa09c
authored
Apr 05, 2013
by
Chris Dodge
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pylint/pep8 fixes
parent
8e36197c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
13 deletions
+7
-13
cms/djangoapps/contentstore/management/commands/check_course.py
+7
-13
No files found.
cms/djangoapps/contentstore/management/commands/check_course.py
View file @
02dfa09c
from
django.core.management.base
import
BaseCommand
,
CommandError
from
xmodule.modulestore.django
import
modulestore
from
xmodule.contentstore.django
import
contentstore
from
xmodule.modulestore.xml_importer
import
check_module_metadata_editability
from
xmodule.course_module
import
CourseDescriptor
from
request_cache.middleware
import
RequestCache
from
django.core.cache
import
get_cache
,
InvalidCacheBackendError
class
Command
(
BaseCommand
):
help
=
'''Enumerates through the course and find common errors'''
def
handle
(
self
,
*
args
,
**
options
):
if
len
(
args
)
!=
1
:
if
len
(
args
)
!=
1
:
raise
CommandError
(
"check_course requires one argument: <location>"
)
loc_str
=
args
[
0
]
loc
=
CourseDescriptor
.
id_to_location
(
loc_str
)
store
=
modulestore
()
# setup a request cache so we don't throttle the DB with all the metadata inheritance requests
store
.
request_cache
=
RequestCache
.
get_request_cache
()
course
=
store
.
get_item
(
loc
,
depth
=
3
)
err_cnt
=
0
def
_xlint_metadata
(
module
):
err_cnt
=
check_module_metadata_editability
(
module
)
for
child
in
module
.
get_children
():
err_cnt
=
err_cnt
+
_xlint_metadata
(
child
)
return
err_cnt
_xlint_metadata
(
course
)
err_cnt
=
err_cnt
+
_xlint_metadata
(
course
)
# we've had a bug where the xml_attributes field can we rewritten as a string rather than a dict
def
_check_xml_attributes_field
(
module
):
...
...
@@ -45,7 +43,7 @@ class Command(BaseCommand):
err_cnt
=
err_cnt
+
_check_xml_attributes_field
(
child
)
return
err_cnt
_check_xml_attributes_field
(
course
)
err_cnt
=
err_cnt
+
_check_xml_attributes_field
(
course
)
# check for dangling discussion items, this can cause errors in the forums
def
_get_discussion_items
(
module
):
...
...
@@ -58,17 +56,13 @@ class Command(BaseCommand):
return
discussion_items
discussion_items
=
_get_discussion_items
(
course
)
discussion_items
=
_get_discussion_items
(
course
)
# now query all discussion items via get_items() and compare with the tree-traversal
queried_discussion_items
=
store
.
get_items
([
'i4x'
,
course
.
location
.
org
,
course
.
location
.
course
,
'discussion'
,
None
,
None
])
'discussion'
,
None
,
None
])
for
item
in
queried_discussion_items
:
if
item
.
location
.
url
()
not
in
discussion_items
:
print
'Found dangling discussion module = {0}'
.
format
(
item
.
location
.
url
())
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