25 lines
726 B
Python
25 lines
726 B
Python
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)
|