File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/__pycache__/odict.cpython-310.pyc
o
;j2 � @ sT d Z ddlZddlmZ ddlmZ ddlmZ G dd� de�ZG dd � d e�Z dS )
a-
:codeauthor: Pedro Algarvio (pedro@algarvio.me)
salt.utils.odict
~~~~~~~~~~~~~~~~
Implements a DefaultOrderedDict Class that serves as a
combination of ``OrderedDict`` and ``defaultdict``
Its source was submitted here::
http://stackoverflow.com/questions/6190331/
� N)�OrderedDict)�Callable)�
warn_untilc sb e Zd ZdZd� fdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
i f� fdd� Z� ZS )�DefaultOrderedDictz3
Dictionary that remembers insertion order
Nc s@ t dd� |d urt|t�std��t� j|i |�� || _d S )N� �sThis module is deprecated. Use the standard library's collections.OrderedDict or salt.utils.datastructures instead.zfirst argument must be callable)r �
isinstancer � TypeError�super�__init__�default_factory)�selfr �a�kw�� __class__� �D/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/odict.pyr s �
zDefaultOrderedDict.__init__c C s, zt �| |�W S ty | �|� Y S w �N)r �__getitem__�KeyError�__missing__)r
�keyr r r r &