33 lines
941 B
Python
33 lines
941 B
Python
from __future__ import unicode_literals
|
|
import frappe
|
|
from frappe.utils import encode
|
|
|
|
def execute():
|
|
"""Fix the File records created via item.py even if the website_image file didn't exist"""
|
|
for item in frappe.db.sql_list("""select name from `tabItem`
|
|
where website_image is not null and website_image != ''
|
|
and website_image like '/files/%'
|
|
and exists (
|
|
select name from `tabFile`
|
|
where attached_to_doctype='Item'
|
|
and attached_to_name=`tabItem`.name
|
|
and file_url=`tabItem`.website_image
|
|
and (file_name is null or file_name = '')
|
|
)"""):
|
|
|
|
item = frappe.get_doc("Item", item)
|
|
file = frappe.get_doc("File", {
|
|
"attached_to_doctype": "Item",
|
|
"attached_to_name": item.name,
|
|
"file_url": item.website_image
|
|
})
|
|
|
|
try:
|
|
file.validate_file()
|
|
except IOError:
|
|
print encode(item.website_image), "does not exist"
|
|
file.delete()
|
|
item.db_set("website_image", None, update_modified=False)
|
|
|
|
|