def __replace_gif(url):
""" put gifs in local cache
try to put gif in cache to enable motion
Keyword Arguments:
url -- url pointing to gif
"""
if not url.endswith(".gif"):
return url
else:
base_folder = xbmcaddon.Addon().getSetting("cache_folder")
dest_folder = os.path.join(xbmc.translatePath(base_folder), "artcache")
xbmcvfs.mkdirs(dest_folder)
parts = url.split("/")
dest = xbmc.makeLegalFilename(
# TODO make sure this is unique
os.path.join(dest_folder, parts[-2] + parts[-1]))
if not xbmcvfs.exists(dest):
try:
response = requests.get(url, timeout=10, verify=False)
except:
return None
if response.status_code == 200:
with open(dest, 'wb') as out_file:
data = response.content
response.close()
out_file.write(data)
# shutil.copyfileobj(response.raw, out_file)
del data
del response
if os.path.getsize(dest) == 0:
koding.dolog("0 size gif: " + repr(dest))
os.remove(dest)
return None
else:
koding.dolog("size: " + repr(os.path.getsize(dest)))
else:
koding.Text_Box(xbmcaddon.Addon().getAddonInfo('name'),
_("gif not found: ") + url)
return None
xbmc.log("gif done: " + repr(dest))
return dest
评论列表
文章目录