def prepare_file(self):
"""
This sets `self.file` to a fitting :class:`InputFile`
or a fitting sublcass (:class:`InputFileFromDisk`, :class:`InputFileFromURL`)
:return: Nothing
"""
if self.file_content:
file_name = "file"
file_suffix = ".blob"
if self.file_path:
file_name = os.path.basename(os.path.normpath(self.file_path)) # http://stackoverflow.com/a/3925147
file_name, file_suffix = os.path.splitext(file_name) # http://stackoverflow.com/a/541394/3423324
elif self.file_url:
from urllib.parse import urlparse # http://stackoverflow.com/a/18727481/3423324
url = urlparse(self.file_url)
file_name = os.path.basename(url.path)
file_name, file_suffix = os.path.splitext(file_name)
# end if
if self.file_mime:
import mimetypes
file_suffix = mimetypes.guess_extension(self.file_mime)
file_suffix = '.jpg' if file_suffix == '.jpe' else file_suffix # .jpe -> .jpg
# end if
if not file_suffix or not file_suffix.strip().lstrip("."):
logger.debug("file_suffix was empty. Using '.blob'")
file_suffix = ".blob"
# end if
file_name = "{filename}{suffix}".format(filename=file_name, suffix=file_suffix)
self.file = InputFile(self.file_content, file_name=file_name, file_mime=self.file_mime)
elif self.file_path:
self.file = InputFileFromDisk(self.file_path, file_mime=self.file_mime)
elif self.file_url:
self.file = InputFileFromURL(self.file_url, file_mime=self.file_mime)
# end if
# end def prepare_file
评论列表
文章目录