Browse Source

[fix] better message when file not found in make thumbnail

version-14
Anand Doshi 9 years ago
parent
commit
f474bc3b5c
2 changed files with 23 additions and 6 deletions
  1. +14
    -5
      frappe/core/doctype/file/file.py
  2. +9
    -1
      frappe/utils/nestedset.py

+ 14
- 5
frappe/core/doctype/file/file.py View File

@@ -16,6 +16,11 @@ from frappe.utils.nestedset import NestedSet
from frappe.utils import strip from frappe.utils import strip
import json import json
import urllib import urllib
from PIL import Image, ImageOps
import os
import requests
import requests.exceptions
import StringIO


class FolderNotEmpty(frappe.ValidationError): pass class FolderNotEmpty(frappe.ValidationError): pass


@@ -119,9 +124,6 @@ class File(NestedSet):
self.delete_file() self.delete_file()


def make_thumbnail(self): def make_thumbnail(self):
from PIL import Image, ImageOps
import os

if self.file_url: if self.file_url:
if self.file_url.startswith("/files"): if self.file_url.startswith("/files"):
try: try:
@@ -132,10 +134,16 @@ class File(NestedSet):


else: else:
# downlaod # downlaod
import requests, StringIO
file_url = frappe.utils.get_url(self.file_url) file_url = frappe.utils.get_url(self.file_url)
r = requests.get(file_url, stream=True) r = requests.get(file_url, stream=True)
r.raise_for_status()
try:
r.raise_for_status()
except requests.exceptions.HTTPError, e:
if "404" in e.args[0]:
frappe.msgprint(_("File '{0}' not found").format(self.file_url))

raise

image = Image.open(StringIO.StringIO(r.content)) image = Image.open(StringIO.StringIO(r.content))
filename, extn = self.file_url.rsplit("/", 1)[1].rsplit(".", 1) filename, extn = self.file_url.rsplit("/", 1)[1].rsplit(".", 1)
filename = "/files/" + strip(urllib.unquote(filename)) filename = "/files/" + strip(urllib.unquote(filename))
@@ -192,6 +200,7 @@ class File(NestedSet):
delete_file_data_content(self, only_thumbnail=True) delete_file_data_content(self, only_thumbnail=True)


def on_rollback(self): def on_rollback(self):
self.flags.on_rollback = True
self.on_trash() self.on_trash()


def on_doctype_update(): def on_doctype_update():


+ 9
- 1
frappe/utils/nestedset.py View File

@@ -201,7 +201,15 @@ class NestedSet(Document):
frappe.throw(_("Cannot delete {0} as it has child nodes").format(self.name), NestedSetChildExistsError) frappe.throw(_("Cannot delete {0} as it has child nodes").format(self.name), NestedSetChildExistsError)


self.set(self.nsm_parent_field, "") self.set(self.nsm_parent_field, "")
update_nsm(self)

try:
update_nsm(self)
except frappe.DoesNotExistError:
if self.flags.on_rollback:
pass
frappe.message_log.pop()
else:
raise


def before_rename(self, olddn, newdn, merge=False, group_fname="is_group"): def before_rename(self, olddn, newdn, merge=False, group_fname="is_group"):
if merge: if merge:


Loading…
Cancel
Save