コード例 #1
0
    def test_setting_storage_backend_arguments_invalid_value(self):
        self._set_environment_variable(name='MAYAN_{}'.format(
            setting_storage_backend_arguments.global_name),
                                       value="invalid_value")
        self.test_case_silenced_logger_new_level = logging.FATAL + 10
        self._silence_logger(name='mayan.apps.storage.classes')

        with self.assertRaises(expected_exception=TypeError) as assertion:
            importlib.reload(storages)
            DefinedStorage.get(
                name=STORAGE_NAME_DOCUMENT_VERSION).get_storage_instance()
        self.assertTrue('Unable to initialize' in str(assertion.exception))
        self.assertTrue('document version' in str(assertion.exception))
コード例 #2
0
ファイル: test_settings.py プロジェクト: addaxagent/agent96
    def test_setting_documentimagecache_storage_arguments_invalid_value(self):
        self._set_environment_variable(name='MAYAN_{}'.format(
            setting_shared_storage_arguments.global_name),
                                       value="invalid_value")
        self.test_case_silenced_logger_new_level = logging.FATAL + 10
        self._silence_logger(name='mayan.apps.storage.classes')

        with self.assertRaises(expected_exception=TypeError) as assertion:
            importlib.reload(storages)
            DefinedStorage.get(name=STORAGE_NAME_COMMON_SHARED_UPLOADED_FILE
                               ).get_storage_instance()
        self.assertTrue('Unable to initialize' in str(assertion.exception))
        self.assertTrue('shared uploaded' in str(assertion.exception))
コード例 #3
0
 def get_defined_storage(self):
     try:
         return DefinedStorage.get(name=self.defined_storage_name)
     except KeyError:
         return DefinedStorage(
             dotted_path='', label=_('Unknown'), name='unknown'
         )
コード例 #4
0
    def retrieve(self, request, *args, **kwargs):
        width = request.GET.get('width')
        height = request.GET.get('height')

        task = task_generate_staging_file_image.apply_async(
            kwargs=dict(staging_folder_pk=self.kwargs['staging_folder_pk'],
                        encoded_filename=self.kwargs['encoded_filename'],
                        width=width,
                        height=height))

        kwargs = {'timeout': STAGING_FILE_IMAGE_TASK_TIMEOUT}
        if settings.DEBUG:
            # In debug more, task are run synchronously, causing this method
            # to be called inside another task. Disable the check of nested
            # tasks when using debug mode.
            kwargs['disable_sync_subtasks'] = False

        cache_filename = task.get(**kwargs)
        storage_staging_file_image_cache = DefinedStorage.get(
            name=STORAGE_NAME_SOURCE_STAGING_FOLDER_FILE).get_storage_instance(
            )

        with storage_staging_file_image_cache.open(
                name=cache_filename) as file_object:
            response = HttpResponse(file_object.read(), content_type='image')
            return response
コード例 #5
0
    def purge(self, _user=None):
        """
        Deletes the entire cache.
        """
        try:
            DefinedStorage.get(name=self.defined_storage_name)
        except KeyError:
            """
            Unknown or deleted storage. Must not be purged otherwise only
            the database data will be erased but the actual storage files
            will remain.
            """
        else:
            for partition in self.partitions.all():
                partition.purge()

            event_cache_purged.commit(actor=_user, target=self)
コード例 #6
0
def condition_valid_storage(context):
    try:
        storage = DefinedStorage.get(
            name=context['object'].defined_storage_name)
    except KeyError:
        return False
    else:
        return storage
コード例 #7
0
    def retrieve(self, request, *args, **kwargs):
        width = request.GET.get('width')
        height = request.GET.get('height')

        task = task_generate_staging_file_image.apply_async(
            kwargs=dict(staging_folder_pk=self.kwargs['staging_folder_pk'],
                        encoded_filename=self.kwargs['encoded_filename'],
                        width=width,
                        height=height))

        cache_filename = task.get(timeout=STAGING_FILE_IMAGE_TASK_TIMEOUT)

        storage_staging_file_image_cache = DefinedStorage.get(
            name=STORAGE_NAME_SOURCE_STAGING_FOLDER_FILE).get_storage_instance(
            )

        with storage_staging_file_image_cache.open(
                cache_filename) as file_object:
            response = HttpResponse(file_object.read(), content_type='image')
            return response
コード例 #8
0
 def storage(self):
     return DefinedStorage.get(name=STORAGE_NAME_SOURCE_STAGING_FOLDER_FILE
                               ).get_storage_instance()
コード例 #9
0
 def get_defined_storage(self):
     return DefinedStorage.get(name=self.defined_storage_name)