fix: reposting issue with s3 backup
(cherry picked from commit 6b454ca9a7)
This commit is contained in:
committed by
Mergify
parent
6301b321d8
commit
73c1bf972e
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user