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:
M. Zulqarnain
2021-03-04 15:06:07 +05:00
committed by GitHub
parent a8449334af
commit 5562944e87
39 changed files with 231 additions and 259 deletions

View File

@@ -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({

View File

@@ -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

View File

@@ -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
})

View File

@@ -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