# coding:utf-8

import hashlib
import json

import requests


"""图片相关"""


info_suffix = '-imageinfo'


class PictureTools(object):

    @staticmethod
    def info(url):
        try:
            img_info = json.loads(requests.get(url=url + info_suffix).text)
            return img_info
        except:
            return {}

    @classmethod
    def is_dynamic(cls, url):
        from .cache import picture_tool_cache

        if not url:
            return False

        encode_url = url
        if not isinstance(url, bytes):
            encode_url = url.encode('utf-8')

        k = hashlib.md5(encode_url).hexdigest()
        raw = picture_tool_cache.get(k)
        if raw is not None:
            is_dynamic = True if int(raw) else False
            return is_dynamic

        img_info = cls.info(url)
        print(img_info)
        fmt = img_info.get("format", '')
        is_dynamic = True if fmt.lower() in ('gif', 'webp') else False

        picture_tool_cache.set(k, int(is_dynamic))

        return is_dynamic