File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/__pycache__/cache.cpython-310.pyc
Back
o ;j�- � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddl Zddl ZddlZddlZddl ZddlZddlZddlZddlmZ e�e�ZG dd� d�ZG dd� de�ZG dd � d e�ZG d d� d�ZG dd � d �ZG dd� d�Zdd� Zdd� ZdS )z In-memory caching used by Salt � N)�zmqc @ s e Zd ZdZedd� �ZdS )�CacheFactoryz2 Cache which can use a number of backends c O s\ t �d|� |dkrt|g|�R i |��S |dkr't||d g|�R i |��S t �d� d S )NzFactory backend: %sZmemoryZdiskZminion_cache_pathz-CacheFactory received unrecognized cache type)�log�debug� CacheDict� CacheDisk�error)�clsZbackend�ttl�args�kwargs� r �D/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/cache.py�factory s zCacheFactory.factoryN)�__name__� __module__�__qualname__�__doc__�classmethodr r r r r r s r c @ s8 e Zd ZdZdd� Zdd� Zdd� Zdd � Zd d� ZdS ) r zA Subclass of dict that will lazily delete items past ttl c O s( t j| g|�R i |�� || _i | _d S �N)�dict�__init__�_ttl�_key_cache_time)�selfr r r r r r r / s zCacheDict.__init__c C sB || j vrdS t�� | j | | jkr| j |= t�| |� dS dS �zK Enforce the TTL to a specific key, delete if its past TTL N)r �timer r �__delitem__�r �keyr r r �_enforce_ttl_key4 s �zCacheDict._enforce_ttl_keyc C � | � |� t�| |�S �z? Check if the key is ttld out, then do the get )r r �__getitem__r r r r r# >