def get_course_data(request): """ Get the course data for a given course. """ if request.method != "GET": return util._error_response("Request type must be GET", _INTERFACE_VERSION) course = request.GET.get('course') # Throw an error if user does not specify a course. if course is None: return util._error_response("You must specify a course.", _INTERFACE_VERSION) # Generate a data filename for the course. filename = get_course_data_filename(course) # Get the data file from S3. There is a periodic task that puts the files here. s3 = S3Connection(settings.AWS_ACCESS_KEY_ID, settings.AWS_SECRET_ACCESS_KEY, is_secure=False) file_url = s3.generate_url(settings.S3_FILE_TIMEOUT, 'GET', bucket=settings.S3_BUCKETNAME.lower(), key=filename) # Return a temporary url. return util._success_response({'file_url': file_url}, _INTERFACE_VERSION)
def get_course_data_file(self, course): """ Given a course, generate a data file and return the filename. course - A string course name. returns - A string filename. """ regenerate_course_data_in_csv_format(course) filename = get_course_data_filename(course) data_filename = os.path.abspath(os.path.join(settings.COURSE_DATA_PATH, filename)) return data_filename