Commit 310b8196 by Calen Pennington

Merge pull request #2133 from edx/usman/openended_post_hostname_argument

Added hostname argument to openended_post command.
parents d0be9078 45401f5a
...@@ -19,7 +19,7 @@ class Command(BaseCommand): ...@@ -19,7 +19,7 @@ class Command(BaseCommand):
Command to manually re-post open ended submissions to the grader. Command to manually re-post open ended submissions to the grader.
""" """
help = ("Usage: openended_post <course_id> <problem_location> <student_ids.txt> --dry-run --task-number=<task_number>\n" help = ("Usage: openended_post <course_id> <problem_location> <student_ids.txt> <hostname> --dry-run --task-number=<task_number>\n"
"The text file should contain a User.id in each line.") "The text file should contain a User.id in each line.")
option_list = BaseCommand.option_list + ( option_list = BaseCommand.option_list + (
...@@ -36,10 +36,11 @@ class Command(BaseCommand): ...@@ -36,10 +36,11 @@ class Command(BaseCommand):
dry_run = options['dry_run'] dry_run = options['dry_run']
task_number = options['task_number'] task_number = options['task_number']
if len(args) == 3: if len(args) == 4:
course_id = args[0] course_id = args[0]
location = args[1] location = args[1]
students_ids = [line.strip() for line in open(args[2])] students_ids = [line.strip() for line in open(args[2])]
hostname = args[3]
else: else:
print self.help print self.help
return return
...@@ -62,15 +63,20 @@ class Command(BaseCommand): ...@@ -62,15 +63,20 @@ class Command(BaseCommand):
print "Number of students: {0}".format(students.count()) print "Number of students: {0}".format(students.count())
for student in students: for student in students:
post_submission_for_student(student, course, location, task_number, dry_run=dry_run) post_submission_for_student(student, course, location, task_number, dry_run=dry_run, hostname=hostname)
def post_submission_for_student(student, course, location, task_number, dry_run=True): def post_submission_for_student(student, course, location, task_number, dry_run=True, hostname=None):
"""If the student's task child_state is ASSESSING post submission to grader.""" """If the student's task child_state is ASSESSING post submission to grader."""
print "{0}:{1}".format(student.id, student.username) print "{0}:{1}".format(student.id, student.username)
request = DummyRequest()
request.user = student
request.host = hostname
try: try:
module = get_module_for_student(student, course, location) module = get_module_for_student(student, course, location, request=request)
if module is None: if module is None:
print " WARNING: No state found." print " WARNING: No state found."
return False return False
...@@ -104,3 +110,22 @@ def post_submission_for_student(student, course, location, task_number, dry_run= ...@@ -104,3 +110,22 @@ def post_submission_for_student(student, course, location, task_number, dry_run=
print err print err
return False return False
class DummyRequest(object):
"""Dummy request"""
META = {}
def __init__(self):
self.session = {}
self.user = None
self.host = None
self.secure = True
def get_host(self):
"""Return a default host."""
return self.host
def is_secure(self):
"""Always secure."""
return self.secure
...@@ -27,8 +27,9 @@ class DummyRequest(object): ...@@ -27,8 +27,9 @@ class DummyRequest(object):
return False return False
def get_module_for_student(student, course, location): def get_module_for_student(student, course, location, request=None):
"""Return the module for the (student, location) using a DummyRequest.""" """Return the module for the (student, location) using a DummyRequest."""
if request is None:
request = DummyRequest() request = DummyRequest()
request.user = student request.user = student
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment