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
d2ed6e2c
Commit
d2ed6e2c
authored
Apr 09, 2013
by
Ned Batchelder
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1830 from MITx/fix/cale/violations
Clean up violations from ichuang's PR
parents
5b8a410d
63b5153c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
28 additions
and
35 deletions
+28
-35
.pylintrc
+6
-2
lms/djangoapps/instructor/management/commands/dump_grades.py
+3
-8
lms/djangoapps/instructor/views.py
+19
-23
lms/djangoapps/open_ended_grading/views.py
+0
-2
No files found.
.pylintrc
View file @
d2ed6e2c
...
...
@@ -35,6 +35,7 @@ load-plugins=
# it should appear only once).
disable=
# C0301: Line too long
# C0302: Too many lines in module
# W0141: Used builtin function 'map'
# W0142: Used * or ** magic
# R0201: Method could be a function
...
...
@@ -42,8 +43,11 @@ disable=
# R0902: Too many instance attributes
# R0903: Too few public methods (1/2)
# R0904: Too many public methods
# R0911: Too many return statements
# R0912: Too many branches
# R0913: Too many arguments
C0301,W0141,W0142,R0201,R0901,R0902,R0903,R0904,R0913
# R0914: Too many local variables
C0301,C0302,W0141,W0142,R0201,R0901,R0902,R0903,R0904,R0911,R0912,R0913,R0914
[REPORTS]
...
...
@@ -92,7 +96,7 @@ zope=no
# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E0201 when accessed. Python regular
# expressions are accepted.
generated-members=REQUEST,acl_users,aq_parent,objects,DoesNotExist,can_read,can_write,get_url,size
generated-members=REQUEST,acl_users,aq_parent,objects,DoesNotExist,can_read,can_write,get_url,size
,content
[BASIC]
...
...
lms/djangoapps/instructor/management/commands/dump_grades.py
View file @
d2ed6e2c
...
...
@@ -3,17 +3,12 @@
# django management command: dump grades to csv files
# for use by batch processes
import
os
import
sys
import
string
import
datetime
import
json
import
csv
from
instructor.views
import
*
from
instructor.views
import
get_student_grade_summary_data
from
courseware.courses
import
get_course_by_id
from
xmodule.modulestore.django
import
modulestore
from
django.conf
import
settings
from
django.core.management.base
import
BaseCommand
...
...
@@ -45,7 +40,7 @@ class Command(BaseCommand):
request
=
self
.
DummyRequest
()
try
:
course
=
get_course_by_id
(
course_id
)
except
Exception
as
err
:
except
Exception
:
if
course_id
in
modulestore
()
.
courses
:
course
=
modulestore
()
.
courses
[
course_id
]
else
:
...
...
lms/djangoapps/instructor/views.py
View file @
d2ed6e2c
...
...
@@ -11,7 +11,6 @@ import requests
from
requests.status_codes
import
codes
import
urllib
from
collections
import
OrderedDict
import
json
from
StringIO
import
StringIO
...
...
@@ -21,7 +20,6 @@ from django.http import HttpResponse
from
django_future.csrf
import
ensure_csrf_cookie
from
django.views.decorators.cache
import
cache_control
from
mitxmako.shortcuts
import
render_to_response
import
requests
from
django.core.urlresolvers
import
reverse
from
courseware
import
grades
...
...
@@ -36,11 +34,7 @@ from django_comment_client.models import (Role,
from
django_comment_client.utils
import
has_forum_access
from
psychometrics
import
psychoanalyze
from
student.models
import
CourseEnrollment
,
CourseEnrollmentAllowed
from
xmodule.course_module
import
CourseDescriptor
from
xmodule.modulestore
import
Location
from
xmodule.modulestore.django
import
modulestore
from
xmodule.modulestore.exceptions
import
InvalidLocationError
,
ItemNotFoundError
,
NoPathToItem
from
xmodule.modulestore.search
import
path_to_location
import
xmodule.graders
as
xmgraders
import
track.views
...
...
@@ -48,14 +42,15 @@ from .offline_gradecalc import student_grades, offline_grades_available
log
=
logging
.
getLogger
(
__name__
)
template_imports
=
{
'urllib'
:
urllib
}
# internal commands for managing forum roles:
FORUM_ROLE_ADD
=
'add'
FORUM_ROLE_REMOVE
=
'remove'
def
split_by_comma_and_whitespace
(
s
):
"""
Return string s, split by , or whitespace
"""
return
re
.
split
(
r'[\s,]'
,
s
)
...
...
@@ -141,7 +136,7 @@ def instructor_dashboard(request, course_id):
# 'beta', so adding it to get_access_group_name doesn't really make
# sense.
name
=
course_beta_test_group_name
(
course
.
location
)
(
group
,
created
)
=
Group
.
objects
.
get_or_create
(
name
=
name
)
(
group
,
_
)
=
Group
.
objects
.
get_or_create
(
name
=
name
)
return
group
# process actions from form POST
...
...
@@ -237,13 +232,13 @@ def instructor_dashboard(request, course_id):
if
'/'
not
in
problem_to_reset
:
# allow state of modules other than problem to be reset
problem_to_reset
=
"problem/"
+
problem_to_reset
# but problem is the default
try
:
(
org
,
course_name
,
run
)
=
course_id
.
split
(
"/"
)
(
org
,
course_name
,
_
)
=
course_id
.
split
(
"/"
)
module_state_key
=
"i4x://"
+
org
+
"/"
+
course_name
+
"/"
+
problem_to_reset
module_to_reset
=
StudentModule
.
objects
.
get
(
student_id
=
student_to_reset
.
id
,
course_id
=
course_id
,
module_state_key
=
module_state_key
)
msg
+=
"Found module to reset. "
except
Exception
as
e
:
except
Exception
:
msg
+=
"<font color='red'>Couldn't find module with that urlname. </font>"
if
"Delete student state for problem"
in
action
:
...
...
@@ -352,7 +347,7 @@ def instructor_dashboard(request, course_id):
return_csv
(
''
,
datatable
,
fp
=
fp
)
fp
.
seek
(
0
)
files
=
{
'datafile'
:
fp
}
msg2
,
dataset
=
_do_remote_gradebook
(
request
.
user
,
course
,
'post-grades'
,
files
=
files
)
msg2
,
_
=
_do_remote_gradebook
(
request
.
user
,
course
,
'post-grades'
,
files
=
files
)
msg
+=
msg2
...
...
@@ -423,7 +418,7 @@ def instructor_dashboard(request, course_id):
datatable
=
{
'header'
:
[
'username'
,
'email'
]
+
profkeys
}
def
getdat
(
u
):
p
=
u
.
profile
return
[
u
.
username
,
u
.
email
]
+
[
getattr
(
p
,
x
,
''
)
for
x
in
profkeys
]
return
[
u
.
username
,
u
.
email
]
+
[
getattr
(
p
,
x
,
''
)
for
x
in
profkeys
]
datatable
[
'data'
]
=
[
getdat
(
u
)
for
u
in
enrolled_students
]
datatable
[
'title'
]
=
'Student profile data for course
%
s'
%
course_id
...
...
@@ -433,17 +428,17 @@ def instructor_dashboard(request, course_id):
elif
'Download CSV of all responses to problem'
in
action
:
problem_to_dump
=
request
.
POST
.
get
(
'problem_to_dump'
,
''
)
if
problem_to_dump
[
-
4
:]
==
".xml"
:
problem_to_dump
=
problem_to_dump
[:
-
4
]
if
problem_to_dump
[
-
4
:]
==
".xml"
:
problem_to_dump
=
problem_to_dump
[:
-
4
]
try
:
(
org
,
course_name
,
run
)
=
course_id
.
split
(
"/"
)
module_state_key
=
"i4x://"
+
org
+
"/"
+
course_name
+
"/problem/"
+
problem_to_dump
(
org
,
course_name
,
run
)
=
course_id
.
split
(
"/"
)
module_state_key
=
"i4x://"
+
org
+
"/"
+
course_name
+
"/problem/"
+
problem_to_dump
smdat
=
StudentModule
.
objects
.
filter
(
course_id
=
course_id
,
module_state_key
=
module_state_key
)
smdat
=
smdat
.
order_by
(
'student'
)
msg
+=
"Found
%
d records to dump "
%
len
(
smdat
)
except
Exception
as
err
:
msg
+=
"<font color='red'>Couldn't find module with that urlname. </font>"
msg
+=
"<font color='red'>Couldn't find module with that urlname. </font>"
msg
+=
"<pre>
%
s</pre>"
%
escape
(
err
)
smdat
=
[]
...
...
@@ -741,7 +736,7 @@ def _list_course_forum_members(course_id, rolename, datatable):
# make sure datatable is set up properly for display first, before checking for errors
datatable
[
'header'
]
=
[
'Username'
,
'Full name'
,
'Roles'
]
datatable
[
'title'
]
=
'List of Forum {0}s in course {1}'
.
format
(
rolename
,
course_id
)
datatable
[
'data'
]
=
[]
;
datatable
[
'data'
]
=
[]
try
:
role
=
Role
.
objects
.
get
(
name
=
rolename
,
course_id
=
course_id
)
except
Role
.
DoesNotExist
:
...
...
@@ -923,7 +918,7 @@ def get_student_grade_summary_data(request, course, course_id, get_grades=True,
datarow
=
[
student
.
id
,
student
.
username
,
student
.
profile
.
name
,
student
.
email
]
try
:
datarow
.
append
(
student
.
externalauthmap
.
external_email
)
except
:
# ExternalAuthMap.DoesNotExist
except
:
# ExternalAuthMap.DoesNotExist
datarow
.
append
(
''
)
if
get_grades
:
...
...
@@ -1040,7 +1035,8 @@ def _do_enroll_students(course, course_id, students, overload=False):
datatable
[
'data'
]
=
[[
x
,
status
[
x
]]
for
x
in
status
]
datatable
[
'title'
]
=
'Enrollment of students'
def
sf
(
stat
):
return
[
x
for
x
in
status
if
status
[
x
]
==
stat
]
def
sf
(
stat
):
return
[
x
for
x
in
status
if
status
[
x
]
==
stat
]
data
=
dict
(
added
=
sf
(
'added'
),
rejected
=
sf
(
'rejected'
)
+
sf
(
'exists'
),
deleted
=
sf
(
'deleted'
),
datatable
=
datatable
)
...
...
@@ -1136,7 +1132,7 @@ def dump_grading_context(course):
'''
msg
=
"-----------------------------------------------------------------------------
\n
"
msg
+=
"Course grader:
\n
"
msg
+=
'
%
s
\n
'
%
course
.
grader
.
__class__
graders
=
{}
if
isinstance
(
course
.
grader
,
xmgraders
.
WeightedSubsectionsGrader
):
...
...
@@ -1151,7 +1147,7 @@ def dump_grading_context(course):
gc
=
course
.
grading_context
msg
+=
"graded sections:
\n
"
msg
+=
'
%
s
\n
'
%
gc
[
'graded_sections'
]
.
keys
()
for
(
gs
,
gsvals
)
in
gc
[
'graded_sections'
]
.
items
():
msg
+=
"--> Section
%
s:
\n
"
%
(
gs
)
...
...
lms/djangoapps/open_ended_grading/views.py
View file @
d2ed6e2c
...
...
@@ -27,8 +27,6 @@ from mitxmako.shortcuts import render_to_string
log
=
logging
.
getLogger
(
__name__
)
template_imports
=
{
'urllib'
:
urllib
}
system
=
ModuleSystem
(
ajax_url
=
None
,
track_function
=
None
,
...
...
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