fix: cleanup copied methods and simpler fix

This commit is contained in:
sokumon 2025-02-22 13:23:26 +05:30
parent 5557ede3d5
commit 620c8bfef2

View file

@ -661,7 +661,9 @@ class File(Document):
if duplicate_file:
file_doc: File = frappe.get_cached_doc("File", duplicate_file.name)
if file_doc.exists_on_disk():
if self.make_file_url() == duplicate_file.file_url:
if self.exists_on_disk():
self.file_url = self.save_file_on_filesystem(make_file_url=True)
else:
self.file_url = duplicate_file.file_url
file_exists = True
@ -678,26 +680,19 @@ class File(Document):
return write_file_method(self)
return self.save_file_on_filesystem()
def save_file_on_filesystem(self):
def save_file_on_filesystem(self, make_file_url=None):
safe_file_name = re.sub(r"[/\\%?#]", "_", self.file_name)
if self.is_private:
self.file_url = f"/private/files/{safe_file_name}"
else:
self.file_url = f"/files/{safe_file_name}"
if make_file_url:
return
fpath = self.write_file()
return {"file_name": os.path.basename(fpath), "file_url": self.file_url}
def make_file_url(self):
file_url = None
safe_file_name = re.sub(r"[/\\%?#]", "_", self.file_name)
if self.is_private:
file_url = f"/private/files/{safe_file_name}"
else:
file_url = f"/files/{safe_file_name}"
return file_url
def check_max_file_size(self):
from frappe.core.api.file import get_max_file_size