upload: Refactor file size out of get_file_info.

We have already checked the size of the file in `upload_file_backend`.
This is the only caller of `upload_message_image_from_request`, and
indirectly the only caller of `get_file_info`. There is no need to
retrieve this information again.

Signed-off-by: Zixuan James Li <p359101898@gmail.com>
This commit is contained in:
Zixuan James Li
2022-07-28 12:33:21 -04:00
committed by Tim Abbott
parent bdee079b0d
commit f42465319b
2 changed files with 6 additions and 7 deletions

View File

@@ -374,7 +374,7 @@ def check_upload_within_quota(realm: Realm, uploaded_file_size: int) -> None:
raise RealmUploadQuotaError(_("Upload would exceed your organization's upload quota.")) raise RealmUploadQuotaError(_("Upload would exceed your organization's upload quota."))
def get_file_info(request: HttpRequest, user_file: File) -> Tuple[str, int, Optional[str]]: def get_file_info(request: HttpRequest, user_file: File) -> Tuple[str, Optional[str]]:
uploaded_file_name = user_file.name uploaded_file_name = user_file.name
assert uploaded_file_name is not None assert uploaded_file_name is not None
@@ -389,9 +389,8 @@ def get_file_info(request: HttpRequest, user_file: File) -> Tuple[str, int, Opti
uploaded_file_name = uploaded_file_name + extension uploaded_file_name = uploaded_file_name + extension
uploaded_file_name = urllib.parse.unquote(uploaded_file_name) uploaded_file_name = urllib.parse.unquote(uploaded_file_name)
uploaded_file_size = user_file.size
return uploaded_file_name, uploaded_file_size, content_type return uploaded_file_name, content_type
def get_signed_upload_url(path: str, download: bool = False) -> str: def get_signed_upload_url(path: str, download: bool = False) -> str:
@@ -1151,11 +1150,11 @@ def create_attachment(
def upload_message_image_from_request( def upload_message_image_from_request(
request: HttpRequest, user_file: File, user_profile: UserProfile request: HttpRequest, user_file: File, user_profile: UserProfile, user_file_size: int
) -> str: ) -> str:
uploaded_file_name, uploaded_file_size, content_type = get_file_info(request, user_file) uploaded_file_name, content_type = get_file_info(request, user_file)
return upload_message_file( return upload_message_file(
uploaded_file_name, uploaded_file_size, content_type, user_file.read(), user_profile uploaded_file_name, user_file_size, content_type, user_file.read(), user_profile
) )

View File

@@ -149,5 +149,5 @@ def upload_file_backend(request: HttpRequest, user_profile: UserProfile) -> Http
) )
check_upload_within_quota(user_profile.realm, file_size) check_upload_within_quota(user_profile.realm, file_size)
uri = upload_message_image_from_request(request, user_file, user_profile) uri = upload_message_image_from_request(request, user_file, user_profile, file_size)
return json_success(request, data={"uri": uri}) return json_success(request, data={"uri": uri})