File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/__pycache__/odict.cpython-310.pyc
o
�N�gP � @ sH d Z ddlZddlmZ ddlmZ G dd� de�ZG dd� de�ZdS ) a/
:codeauthor: Pedro Algarvio (pedro@algarvio.me)
salt.utils.odict
~~~~~~~~~~~~~~~~
Implements a DefaultOrderedDict Class that serves as a
combination of ``OrderedDict`` and ``defaultdict``
It's source was submitted here::
http://stackoverflow.com/questions/6190331/
� N)�OrderedDict)�Callablec 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 s6 |d ur
t |t�s
td��t� j|i |�� || _d S )Nzfirst argument must be callable)�
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 s
�zDefaultOrderedDict.__getitem__c C s&