관리-도구
편집 파일: cache.cpython-38.pyc
U +�e � @ sH d dl mZ e�d�ZejZeddd� G dd� d�ZG dd � d �Zd S )� )�utilz mako.cacheZbeakerzmako.ext.beaker_cacheZBeakerCacheImplc @ sx e Zd ZdZdZdZdZdd� Zdd� Zdd� Z d d � Z dd� ZeZd d� Z dd� Zdd� Zdd� Zdd� Zdd� ZdS )�Cachea� Represents a data content cache made available to the module space of a specific :class:`.Template` object. .. versionadded:: 0.6 :class:`.Cache` by itself is mostly a container for a :class:`.CacheImpl` object, which implements a fixed API to provide caching services; specific subclasses exist to implement different caching strategies. Mako includes a backend that works with the Beaker caching system. Beaker itself then supports a number of backends (i.e. file, memory, memcached, etc.) The construction of a :class:`.Cache` is part of the mechanics of a :class:`.Template`, and programmatic access to this cache is typically via the :attr:`.Template.cache` attribute. Nc G sF t |t�r|rd S || _|jj| _|jj| _i | _| � | jj �| _d S �N)� isinstance�str�template�module�__name__�idZ_modified_time� starttime�_def_regions� _load_implZ cache_impl�impl)�selfr �args� r �8/opt/hc_python/lib/python3.8/site-packages/mako/cache.py�__init__A s zCache.__init__c C s t �|�| �S r )�_cache_plugins�load�r �namer r r r L s zCache._load_implc K s | j ||df|�S )�cRetrieve a value from the cache, using the given creation function to generate a new value.N)�_ctx_get_or_create�r �key�creation_function�kwr r r � get_or_createO s zCache.get_or_createc K s( | j js|� S | jj||f| �||��S )r )r Z cache_enabledr r � _get_cache_kw)r r r �contextr r r r r U s � �zCache._ctx_get_or_createc K s | j j||f| �|d�� dS �z�Place a value in the cache. :param key: the value's key. :param value: the value. :param \**kw: cache configuration arguments. N)r �setr �r r �valuer r r r r"