utils.guess_filename fails if the given parameter looks like a file object but has a non-string name attribute

e.g. a cherrypy uploaded file behave like a regular file, except that its name attribute is an int and passing it directly to requests fails because of that
This commit is contained in:
Arthur Darcet
2014-12-12 16:11:32 +01:00
parent e23bf10cf4
commit e8d02ea0bb
3 changed files with 10 additions and 1 deletions
+1 -1
View File
@@ -115,7 +115,7 @@ def get_netrc_auth(url):
def guess_filename(obj):
"""Tries to guess the filename of the given object."""
name = getattr(obj, 'name', None)
if name and name[0] != '<' and name[-1] != '>':
if name and isinstance(name, builtin_str) and name[0] != '<' and name[-1] != '>':
return os.path.basename(name)