diff --git a/cms/envs/common.py b/cms/envs/common.py index 6faecafec12a008d54a9b6164989d8380ddefa43..3226d990055780ea309bf9b6c4635c47c8851510 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -90,6 +90,15 @@ TEMPLATE_CONTEXT_PROCESSORS = ( ################################# Jasmine ################################### JASMINE_TEST_DIRECTORY = PROJECT_ROOT + '/static/coffee' + +#################### CAPA External Code Evaluation ############################# +XQUEUE_INTERFACE = { + 'url': 'http://localhost:8888', + 'auth': {'username': 'local', + 'password': 'local'} +} + + ################################# Middleware ################################### # List of finder classes that know how to find static files in # various locations. diff --git a/common/lib/capa/capa/xqueue_interface.py b/common/lib/capa/capa/xqueue_interface.py index 70f086120e23e1da150780c525bb472915cc4fb7..399cce9b6d29ceba2ca346132835685b61812ffb 100644 --- a/common/lib/capa/capa/xqueue_interface.py +++ b/common/lib/capa/capa/xqueue_interface.py @@ -7,13 +7,10 @@ import logging import requests import time -# TODO: Collection of parameters to be hooked into rest of edX system -XQUEUE_LMS_AUTH = { 'username': 'LMS', - 'password': 'PaloAltoCA' } -XQUEUE_URL = 'http://xqueue.edx.org' log = logging.getLogger('mitx.' + __name__) + def make_hashkey(seed=None): ''' Generate a string key by hashing @@ -63,7 +60,7 @@ class XqueueInterface: Interface to the external grading system ''' - def __init__(self, url=XQUEUE_URL, auth=XQUEUE_LMS_AUTH): + def __init__(self, url, auth): self.url = url self.auth = auth self.session = requests.session() @@ -117,5 +114,3 @@ class XqueueInterface: return (1, 'unexpected HTTP status code [%d]' % r.status_code) return parse_xreply(r.text) - -qinterface = XqueueInterface() diff --git a/lms/djangoapps/courseware/module_render.py b/lms/djangoapps/courseware/module_render.py index 85eeb72c24019b0baa4b9b3c410c15c17e103ee3..46889c878bb755f0f66c21a2a7d3e36929fdb896 100644 --- a/lms/djangoapps/courseware/module_render.py +++ b/lms/djangoapps/courseware/module_render.py @@ -7,9 +7,9 @@ from django.http import Http404 from django.http import HttpResponse from django.views.decorators.csrf import csrf_exempt +from capa.xqueue_interface import XQueueInterface from django.contrib.auth.models import User from xmodule.modulestore.django import modulestore -from capa.xqueue_interface import qinterface from mitxmako.shortcuts import render_to_string from models import StudentModule, StudentModuleCache from static_replace import replace_urls @@ -23,6 +23,12 @@ from courseware.courses import (has_staff_access_to_course, log = logging.getLogger("mitx.courseware") +xqueue_interface = XQueueInterface( + settings.XQUEUE_INTERFACE['url'], + settings.XQUEUE_INTERFACE['auth'] +) + + def make_track_function(request): ''' Make a tracking function that logs what happened. @@ -172,9 +178,9 @@ def get_module(user, request, location, student_module_cache, position=None): # TODO: Queuename should be derived from 'course_settings.json' of each course xqueue_default_queuename = descriptor.location.org + '-' + descriptor.location.course - xqueue = { 'interface': qinterface, - 'callback_url': xqueue_callback_url, - 'default_queuename': xqueue_default_queuename.replace(' ','_') } + xqueue = {'interface': xqueue_interface, + 'callback_url': xqueue_callback_url, + 'default_queuename': xqueue_default_queuename.replace(' ', '_')} def _get_module(location): return get_module(user, request, location, diff --git a/lms/envs/aws.py b/lms/envs/aws.py index 460ec18d27859b8eb5d7281f9c5a738d605cc0b8..c704fd164e2e17a6b049b849df2d9768079d61cf 100644 --- a/lms/envs/aws.py +++ b/lms/envs/aws.py @@ -54,3 +54,5 @@ AWS_ACCESS_KEY_ID = AUTH_TOKENS["AWS_ACCESS_KEY_ID"] AWS_SECRET_ACCESS_KEY = AUTH_TOKENS["AWS_SECRET_ACCESS_KEY"] DATABASES = AUTH_TOKENS['DATABASES'] + +XQUEUE_INTERFACE = AUTH_TOKENS['XQUEUE_INTERFACE']