diff --git a/cms/djangoapps/contentstore/storage.py b/cms/djangoapps/contentstore/storage.py index 76bd5b54bdc8..4340582a64c5 100644 --- a/cms/djangoapps/contentstore/storage.py +++ b/cms/djangoapps/contentstore/storage.py @@ -5,11 +5,11 @@ from django.conf import settings from django.core.files.storage import get_storage_class -from storages.backends.s3boto import S3BotoStorage +from storages.backends.s3boto3 import S3Boto3Storage from storages.utils import setting -class ImportExportS3Storage(S3BotoStorage): # pylint: disable=abstract-method +class ImportExportS3Storage(S3Boto3Storage): # pylint: disable=abstract-method """ S3 backend for course import and export OLX files. """ diff --git a/cms/djangoapps/contentstore/views/import_export.py b/cms/djangoapps/contentstore/views/import_export.py index 4bee4b776da4..067411b15105 100644 --- a/cms/djangoapps/contentstore/views/import_export.py +++ b/cms/djangoapps/contentstore/views/import_export.py @@ -23,7 +23,7 @@ from opaque_keys.edx.locator import LibraryLocator from path import Path as path from six import text_type -from storages.backends.s3boto import S3BotoStorage +from storages.backends.s3boto3 import S3Boto3Storage from user_tasks.conf import settings as user_tasks_settings from user_tasks.models import UserTaskArtifact, UserTaskStatus from wsgiref.util import FileWrapper @@ -373,7 +373,7 @@ def export_status_handler(request, course_key_string): artifact = UserTaskArtifact.objects.get(status=task_status, name='Output') if isinstance(artifact.file.storage, FileSystemStorage): output_url = reverse_course_url('export_output_handler', course_key) - elif isinstance(artifact.file.storage, S3BotoStorage): + elif isinstance(artifact.file.storage, S3Boto3Storage): filename = os.path.basename(artifact.file.name).encode('utf-8') disposition = 'attachment; filename="{}"'.format(filename) output_url = artifact.file.storage.url(artifact.file.name, response_headers={ diff --git a/openedx/core/storage.py b/openedx/core/storage.py index b7683ce162ea..ff9938094ff9 100644 --- a/openedx/core/storage.py +++ b/openedx/core/storage.py @@ -6,7 +6,7 @@ from django.utils.lru_cache import lru_cache from pipeline.storage import NonPackagingMixin, PipelineCachedStorage from require.storage import OptimizedFilesMixin -from storages.backends.s3boto import S3BotoStorage +from storages.backends.s3boto3 import S3Boto3Storage from openedx.core.djangoapps.theming.storage import ThemeCachedFilesMixin, ThemePipelineMixin, ThemeStorage @@ -55,7 +55,7 @@ class DevelopmentStorage( pass -class S3ReportStorage(S3BotoStorage): # pylint: disable=abstract-method +class S3ReportStorage(S3Boto3Storage): # pylint: disable=abstract-method """ Storage for reports. """ @@ -68,7 +68,7 @@ def __init__(self, acl=None, bucket=None, custom_domain=None, **settings): acl: content policy for the uploads i.e. private, public etc. bucket: Name of S3 bucket to use for storing and/or retrieving content custom_domain: custom domain to use for generating file urls - **settings: additional settings to be passed in to S3BotoStorage, + **settings: additional settings to be passed in to S3Boto3Storage, Returns: