B
    ADbÌ  ã               @   s   G d d„ de ƒZdd„ ZdS )c               @   s   e Zd Zdd„ ZdS )ÚAbsTreec             C   s&   ddl m} t||ƒr|j}n|}|S )Né   )ÚNode)Ú r   Ú
isinstanceZidentity)ÚselfZnoder   Znid© r   ú9G:\easytimepro\master/mysite/admin\tree_structure\base.pyÚ_node_2_nid	   s
    
zAbsTree._node_2_nidN)Ú__name__Ú
__module__Ú__qualname__r	   r   r   r   r   r      s   r   c          
   K   s¶   t | ttfƒs| g} t |ttfƒs(|g}g }xpt| ƒD ]d\}}|t|ƒkrVt|ƒd }y|| ||| ¡ƒ}W n  ttfk
rŽ   || }Y nX | |¡ q6W t|ƒdkr²|d }|S )Nr   é    )	r   ÚtupleÚlistÚ	enumerateÚlenÚgetÚ
ValueErrorÚ	TypeErrorÚappend)ÚkeysÚdefaultsZexpect_typeÚkwargsÚvaluesÚidxÚkeyÚvaluer   r   r   Úsafe_get_keyword   s     r   N)Úobjectr   r   r   r   r   r   Ú<module>   s   
