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)
 | |
| 
 | |
| 
 |