from django.conf import settings def get_workspace_file_size_limit(workspace): if not getattr(workspace, "storage_file_size_limit_enabled", True): return None limit = getattr(workspace, "storage_file_size_limit", None) or settings.FILE_SIZE_LIMIT return max(1, int(limit)) def resolve_workspace_upload_size_limit(workspace, requested_size): try: requested_size = int(requested_size) except (TypeError, ValueError): requested_size = settings.FILE_SIZE_LIMIT requested_size = max(1, requested_size) workspace_limit = get_workspace_file_size_limit(workspace) if workspace_limit is None: return requested_size return min(requested_size, workspace_limit)