NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

const.py (1205B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\imagecaching\client\const.py
      2 import hashlib
      3 import re
      4 LOGGER_NAME = 'IMAGECACHE'
      5 INDEX_FILENAME = u'image_cache.fb'
      6 DEFAULT_BASE_PATH = u'cache:/Storage/imagecache'
      7 USER_FOLDER = u'users'
      8 OUTCOME_DOWNLOADED = u'downloaded'
      9 OUTCOME_NOT_MODIFIED = u'not_modified'
     10 OUTCOME_SERVED_STALE = u'served_stale'
     11 OUTCOME_FAILED = u'failed'
     12 _EXT_BY_MIME = {u'image/png': u'.png',
     13  u'image/jpeg': u'.jpg'}
     14 IMAGE_EXTENSIONS = frozenset(_EXT_BY_MIME.values())
     15 
     16 def extension_for_content_type(content_type):
     17     if not content_type:
     18         return None
     19     mime = content_type.split(u';', 1)[0].strip().lower()
     20     return _EXT_BY_MIME.get(mime)
     21 
     22 
     23 def user_cache_folder(user_id, feature_folder):
     24     return u'%s/%d/%s' % (USER_FOLDER, user_id, feature_folder)
     25 
     26 
     27 _UNSAFE_FILENAME_CHARS = re.compile('[^A-Za-z0-9._-]+')
     28 _DIGEST_LENGTH = 8
     29 _MAX_SLUG_LENGTH = 40
     30 
     31 def image_cache_path(cache_folder, image_id):
     32     slug = _UNSAFE_FILENAME_CHARS.sub(u'_', image_id)[:_MAX_SLUG_LENGTH].strip(u'_')
     33     digest = hashlib.sha1(image_id.encode('utf-8')).hexdigest()[:_DIGEST_LENGTH]
     34     return u'%s/%s-%s' % (cache_folder, slug or u'image', digest)