Commit 5ad49d93 by Sven Marnach Committed by Jonathan Piacenti

Format times in the UI more nicely and consistently in UTC.

parent 8045e0f5
...@@ -33,7 +33,7 @@ function DataExportBlock(runtime, element) { ...@@ -33,7 +33,7 @@ function DataExportBlock(runtime, element) {
); );
} }
function updateView() { function updateView() {
var $statusArea = $('.data-export-status', element); var $statusArea = $('.data-export-status', element), startTime;
$statusArea.empty(); $statusArea.empty();
$startButton.toggle(!status.export_pending).prop('disabled', false); $startButton.toggle(!status.export_pending).prop('disabled', false);
$cancelButton.toggle(status.export_pending).prop('disabled', false); $cancelButton.toggle(status.export_pending).prop('disabled', false);
...@@ -45,12 +45,14 @@ function DataExportBlock(runtime, element) { ...@@ -45,12 +45,14 @@ function DataExportBlock(runtime, element) {
'Data export failed. Reason: ' + status.last_export_result.error 'Data export failed. Reason: ' + status.last_export_result.error
)); ));
} else { } else {
startTime = new Date(status.last_export_result.start_timestamp * 1000);
$statusArea.append($('<p>').text( $statusArea.append($('<p>').text(
'Date completed: ' + status.last_export_result.report_date 'A report is available for download.'
)); ));
$statusArea.append($('<p>').text( $statusArea.append($('<p>').text(
'The report took ' + status.last_export_result.generation_time_s + 'It was created at ' + startTime.toUTCString() +
' seconds to generate.' ' and took ' + status.last_export_result.generation_time_s.toFixed(1) +
' seconds to finish.'
)); ));
} }
} else { } else {
......
""" """
This file contains celery tasks for contentstore views This file contains celery tasks for contentstore views
""" """
import time
from celery.task import task from celery.task import task
from celery.utils.log import get_task_logger from celery.utils.log import get_task_logger
import datetime
from instructor_task.models import ReportStore from instructor_task.models import ReportStore
from opaque_keys.edx.keys import UsageKey from opaque_keys.edx.keys import UsageKey
from xmodule.modulestore.django import modulestore from xmodule.modulestore.django import modulestore
...@@ -19,7 +20,7 @@ def export_data(source_block_id_str, user_id): ...@@ -19,7 +20,7 @@ def export_data(source_block_id_str, user_id):
""" """
Reruns a course in a new celery task. Reruns a course in a new celery task.
""" """
report_date = datetime.datetime.now() start_timestamp = time.time()
logger.debug("Beginning data export") logger.debug("Beginning data export")
...@@ -71,16 +72,16 @@ def export_data(source_block_id_str, user_id): ...@@ -71,16 +72,16 @@ def export_data(source_block_id_str, user_id):
del student_submissions[student_id] del student_submissions[student_id]
# Generate the CSV: # Generate the CSV:
filename = u"pb-data-export-{}.csv".format(report_date.strftime("%Y-%m-%d-%H%M%S")) filename = u"pb-data-export-{}.csv".format(time.strftime("%Y-%m-%d-%H%M%S", time.gmtime(start_timestamp)))
report_store = ReportStore.from_config(config_name='GRADES_DOWNLOAD') report_store = ReportStore.from_config(config_name='GRADES_DOWNLOAD')
report_store.store_rows(course_key, filename, rows) report_store.store_rows(course_key, filename, rows)
generation_time_s = (datetime.datetime.now() - report_date).total_seconds() generation_time_s = time.time() - start_timestamp
logger.debug("Done data export - took {} seconds".format(generation_time_s)) logger.debug("Done data export - took {} seconds".format(generation_time_s))
return { return {
"error": None, "error": None,
"report_filename": filename, "report_filename": filename,
"report_date": report_date.isoformat(), "start_timestamp": start_timestamp,
"generation_time_s": generation_time_s, "generation_time_s": generation_time_s,
} }
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