fix: reposting issue with s3 backup

(cherry picked from commit 6b454ca9a7)
This commit is contained in:
Rohit Waghchaure
2025-01-30 11:59:40 +05:30
committed by Mergify
parent 6301b321d8
commit 73c1bf972e

View File

@@ -405,23 +405,13 @@ def create_json_gz_file(data, doc, file_name=None) -> str:
compressed_content = gzip.compress(encoded_content)
if not file_name:
json_filename = f"{scrub(doc.doctype)}-{scrub(doc.name)}.json.gz"
_file = frappe.get_doc(
{
"doctype": "File",
"file_name": json_filename,
"attached_to_doctype": doc.doctype,
"attached_to_name": doc.name,
"attached_to_field": "reposting_data_file",
"content": compressed_content,
"is_private": 1,
}
)
_file.save(ignore_permissions=True)
return _file.file_url
return create_file(doc, compressed_content)
else:
file_doc = frappe.get_doc("File", file_name)
if "/frappe_s3_attachment." in file_doc.file_url:
file_doc.delete()
return create_file(doc, compressed_content)
path = file_doc.get_full_path()
with open(path, "wb") as f:
@@ -430,6 +420,24 @@ def create_json_gz_file(data, doc, file_name=None) -> str:
return doc.reposting_data_file
def create_file(doc, compressed_content):
json_filename = f"{scrub(doc.doctype)}-{scrub(doc.name)}.json.gz"
_file = frappe.get_doc(
{
"doctype": "File",
"file_name": json_filename,
"attached_to_doctype": doc.doctype,
"attached_to_name": doc.name,
"attached_to_field": "reposting_data_file",
"content": compressed_content,
"is_private": 1,
}
)
_file.save(ignore_permissions=True)
return _file.file_url
def get_items_to_be_repost(voucher_type=None, voucher_no=None, doc=None, reposting_data=None):
if not reposting_data and doc and doc.reposting_data_file:
reposting_data = get_reposting_data(doc.reposting_data_file)