File: //opt/alt/python27/lib/python2.7/site-packages/raven/utils/__init__.pyo
�
��Yc           @@  s�   d  Z  d d l m Z d d l m Z m Z d d l Z d d l Z d d l m	 Z	 y d d l
 Z
 Wn e k
 r} d Z
 n Xd d l
 Z
 e j d � Z d �  Z d d d � Z i  Z d	 �  Z d d
 � Z d d � Z d e f d
 �  �  YZ d �  Z d S(   s�   
raven.utils
~~~~~~~~~~~~~~~~~~~
:copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details.
:license: BSD, see LICENSE for more details.
i    (   t   absolute_import(   t	   iteritemst   string_typesN(   t   update_wrappers   raven.errorsc          G@  sN   i  } xA |  D]9 } | s q
 n  x$ t  | � D] \ } } | | | <q, Wq
 W| S(   N(   R   (   t   dictst   outt   dt   kt   v(    (    sE   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/__init__.pyt   merge_dicts   s    
c         @  s�   �  d k r i  �  n  t | � } | �  k r: � | d � Sd �  | <t | t � r{ t �  � f d �  t | � D� � } nO t | t t f � r� g  | D] } t � | �  | � ^ q� } n � | | � } �  | =| S(   sx   
    Executes ``func(key_name, value)`` on all values
    recurisively discovering dict and list scoped
    values.
    s   <...>i   c         3@  s0   |  ]&