BOM-2369 (A): pyupgrade on api,contentstore and cms_user_tasks apps under CMS (#26676)
* pyupgrade on cms api,contentstore and cms_user_tasks apps
This commit is contained in:
@@ -14,7 +14,6 @@ from rest_framework import status
|
||||
from rest_framework.exceptions import AuthenticationFailed
|
||||
from rest_framework.generics import GenericAPIView
|
||||
from rest_framework.response import Response
|
||||
from six import text_type
|
||||
from user_tasks.models import UserTaskStatus
|
||||
|
||||
from cms.djangoapps.contentstore.storage import course_import_export_storage
|
||||
@@ -35,7 +34,7 @@ class CourseImportExportViewMixin(DeveloperErrorViewMixin):
|
||||
"""
|
||||
Ensures that the user is authenticated (e.g. not an AnonymousUser)
|
||||
"""
|
||||
super(CourseImportExportViewMixin, self).perform_authentication(request) # lint-amnesty, pylint: disable=super-with-arguments
|
||||
super().perform_authentication(request)
|
||||
if request.user.is_anonymous:
|
||||
raise AuthenticationFailed
|
||||
|
||||
@@ -135,18 +134,18 @@ class CourseImportView(CourseImportExportViewMixin, GenericAPIView):
|
||||
if not course_dir.isdir():
|
||||
os.mkdir(course_dir)
|
||||
|
||||
log.debug(u'importing course to {0}'.format(temp_filepath))
|
||||
log.debug(f'importing course to {temp_filepath}')
|
||||
with open(temp_filepath, "wb+") as temp_file:
|
||||
for chunk in request.FILES['course_data'].chunks():
|
||||
temp_file.write(chunk)
|
||||
|
||||
log.info(u"Course import %s: Upload complete", course_key)
|
||||
log.info("Course import %s: Upload complete", course_key)
|
||||
with open(temp_filepath, 'rb') as local_file:
|
||||
django_file = File(local_file)
|
||||
storage_path = course_import_export_storage.save(u'olx_import/' + filename, django_file)
|
||||
storage_path = course_import_export_storage.save('olx_import/' + filename, django_file)
|
||||
|
||||
async_result = import_olx.delay(
|
||||
request.user.id, text_type(course_key), storage_path, filename, request.LANGUAGE_CODE)
|
||||
request.user.id, str(course_key), storage_path, filename, request.LANGUAGE_CODE)
|
||||
return Response({
|
||||
'task_id': async_result.task_id
|
||||
})
|
||||
@@ -166,7 +165,7 @@ class CourseImportView(CourseImportExportViewMixin, GenericAPIView):
|
||||
try:
|
||||
task_id = request.GET['task_id']
|
||||
filename = request.GET['filename']
|
||||
args = {u'course_key_string': str(course_key), u'archive_name': filename}
|
||||
args = {'course_key_string': str(course_key), 'archive_name': filename}
|
||||
name = CourseImportTask.generate_name(args)
|
||||
task_status = UserTaskStatus.objects.filter(name=name, task_id=task_id).first()
|
||||
return Response({
|
||||
|
||||
@@ -3,7 +3,6 @@ import logging
|
||||
import time
|
||||
|
||||
import numpy as np
|
||||
import six
|
||||
from edxval.api import get_videos_for_course
|
||||
from rest_framework.generics import GenericAPIView
|
||||
from rest_framework.response import Response
|
||||
@@ -91,7 +90,7 @@ class CourseQualityView(DeveloperErrorViewMixin, GenericAPIView):
|
||||
if log_time:
|
||||
start_time = time.time()
|
||||
output = func(*args)
|
||||
log.info(u'[%s] completed in [%f]', func.__name__, (time.time() - start_time))
|
||||
log.info('[%s] completed in [%f]', func.__name__, (time.time() - start_time))
|
||||
else:
|
||||
output = func(*args)
|
||||
return output
|
||||
@@ -154,25 +153,25 @@ class CourseQualityView(DeveloperErrorViewMixin, GenericAPIView):
|
||||
def _subsections_quality(self, course, request): # lint-amnesty, pylint: disable=missing-function-docstring
|
||||
subsection_unit_dict = self._get_subsections_and_units(course, request)
|
||||
num_block_types_per_subsection_dict = {}
|
||||
for subsection_key, unit_dict in six.iteritems(subsection_unit_dict):
|
||||
for subsection_key, unit_dict in subsection_unit_dict.items():
|
||||
leaf_block_types_in_subsection = (
|
||||
unit_info['leaf_block_types']
|
||||
for unit_info in six.itervalues(unit_dict)
|
||||
for unit_info in unit_dict.values()
|
||||
)
|
||||
num_block_types_per_subsection_dict[subsection_key] = len(set().union(*leaf_block_types_in_subsection))
|
||||
|
||||
return dict(
|
||||
total_visible=len(num_block_types_per_subsection_dict),
|
||||
num_with_one_block_type=list(six.itervalues(num_block_types_per_subsection_dict)).count(1),
|
||||
num_block_types=self._stats_dict(list(six.itervalues(num_block_types_per_subsection_dict))),
|
||||
num_with_one_block_type=list(num_block_types_per_subsection_dict.values()).count(1),
|
||||
num_block_types=self._stats_dict(list(num_block_types_per_subsection_dict.values())),
|
||||
)
|
||||
|
||||
def _units_quality(self, course, request): # lint-amnesty, pylint: disable=missing-function-docstring
|
||||
subsection_unit_dict = self._get_subsections_and_units(course, request)
|
||||
num_leaf_blocks_per_unit = [
|
||||
unit_info['num_leaf_blocks']
|
||||
for unit_dict in six.itervalues(subsection_unit_dict)
|
||||
for unit_info in six.itervalues(unit_dict)
|
||||
for unit_dict in subsection_unit_dict.values()
|
||||
for unit_info in unit_dict.values()
|
||||
]
|
||||
return dict(
|
||||
total_visible=len(num_leaf_blocks_per_unit),
|
||||
@@ -215,7 +214,7 @@ class CourseQualityView(DeveloperErrorViewMixin, GenericAPIView):
|
||||
leaf_blocks = cls._get_leaf_blocks(unit)
|
||||
unit_dict[unit.location] = dict(
|
||||
num_leaf_blocks=len(leaf_blocks),
|
||||
leaf_block_types=set(block.location.block_type for block in leaf_blocks),
|
||||
leaf_block_types={block.location.block_type for block in leaf_blocks},
|
||||
)
|
||||
|
||||
subsection_dict[subsection.location] = unit_dict
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
import logging
|
||||
|
||||
import dateutil
|
||||
import six
|
||||
from pytz import UTC
|
||||
from rest_framework.generics import GenericAPIView
|
||||
from rest_framework.response import Response
|
||||
@@ -118,7 +117,7 @@ class CourseValidationView(DeveloperErrorViewMixin, GenericAPIView):
|
||||
]
|
||||
assignments_with_dates_before_start = (
|
||||
[
|
||||
{'id': six.text_type(a.location), 'display_name': a.display_name}
|
||||
{'id': str(a.location), 'display_name': a.display_name}
|
||||
for a in assignments_with_dates
|
||||
if a.due < course.start
|
||||
]
|
||||
@@ -128,7 +127,7 @@ class CourseValidationView(DeveloperErrorViewMixin, GenericAPIView):
|
||||
|
||||
assignments_with_dates_after_end = (
|
||||
[
|
||||
{'id': six.text_type(a.location), 'display_name': a.display_name}
|
||||
{'id': str(a.location), 'display_name': a.display_name}
|
||||
for a in assignments_with_dates
|
||||
if a.due > course.end
|
||||
]
|
||||
@@ -144,7 +143,7 @@ class CourseValidationView(DeveloperErrorViewMixin, GenericAPIView):
|
||||
]
|
||||
assignments_with_dates_before_start = (
|
||||
[
|
||||
{'id': six.text_type(a.location), 'display_name': a.display_name}
|
||||
{'id': str(a.location), 'display_name': a.display_name}
|
||||
for a in assignments_with_dates
|
||||
if a.due < course.start
|
||||
]
|
||||
@@ -154,7 +153,7 @@ class CourseValidationView(DeveloperErrorViewMixin, GenericAPIView):
|
||||
|
||||
assignments_with_dates_after_end = (
|
||||
[
|
||||
{'id': six.text_type(a.location), 'display_name': a.display_name}
|
||||
{'id': str(a.location), 'display_name': a.display_name}
|
||||
for a in assignments_with_dates
|
||||
if a.due > course.end
|
||||
]
|
||||
@@ -175,14 +174,14 @@ class CourseValidationView(DeveloperErrorViewMixin, GenericAPIView):
|
||||
parent_unit = modulestore().get_item(ora.parent)
|
||||
parent_assignment = modulestore().get_item(parent_unit.parent)
|
||||
assignments_with_ora_dates_before_start.append({
|
||||
'id': six.text_type(parent_assignment.location),
|
||||
'id': str(parent_assignment.location),
|
||||
'display_name': parent_assignment.display_name
|
||||
})
|
||||
if course.end and self._has_date_after_end(ora, course.end):
|
||||
parent_unit = modulestore().get_item(ora.parent)
|
||||
parent_assignment = modulestore().get_item(parent_unit.parent)
|
||||
assignments_with_ora_dates_after_end.append({
|
||||
'id': six.text_type(parent_assignment.location),
|
||||
'id': str(parent_assignment.location),
|
||||
'display_name': parent_assignment.display_name
|
||||
})
|
||||
|
||||
|
||||
@@ -9,10 +9,10 @@ from opaque_keys.edx.keys import CourseKey
|
||||
from rest_framework import status
|
||||
from rest_framework.generics import GenericAPIView
|
||||
|
||||
from common.djangoapps.student.auth import has_course_author_access
|
||||
from openedx.core.djangoapps.util.forms import to_bool
|
||||
from openedx.core.lib.api.view_utils import DeveloperErrorViewMixin, view_auth_classes
|
||||
from openedx.core.lib.cache_utils import request_cached
|
||||
from common.djangoapps.student.auth import has_course_author_access
|
||||
from xmodule.modulestore.django import modulestore
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user