관리-도구
편집 파일: _utils.cpython-36.pyc
3 �Pf � @ s d dl mZmZmZ d dlZd dlmZ d dlmZ yd dl j jZW n e k rd d dlj jZY nX ddddd d dgZejd dko�ejd dkZy,ed�Zeee�s�ed�Zeee�s�t�W n dZY nX dZG dd� de�Zdd� Zdd� Zdd � Zdd� ZdS )� )�absolute_import�division�unicode_literalsN)� ModuleType)� text_type� default_etree�MethodDispatcher�isSurrogatePair�surrogatePairToCodepoint�moduleFactoryFactory�supports_lone_surrogates�PY27� � � z"\uD800"z u"\uD800"FTc @ s$ e Zd ZdZf fdd�Zdd� ZdS )r ap Dict with 2 special properties: On initiation, keys that are lists, sets or tuples are converted to multiple keys so accessing any one of the items in the original list-like object returns the matching value md = MethodDispatcher({("foo", "bar"):"baz"}) md["foo"] == "baz" A default value which can be set through the default attribute. c C s~ g }xN|D ]F\}}t |ttttf�rBx*|D ]}|j||f� q*W q |j||f� q W tj| |� t| �t|�kstt �d | _ d S )N)� isinstance�list�tuple� frozenset�set�append�dict�__init__�len�AssertionError�default)�self�itemsZ_dictEntries�name�value�item� r! �/usr/lib/python3.6/_utils.pyr 4 s zMethodDispatcher.__init__c C s t j| || j�S )N)r �getr )r �keyr! r! r"