File: //opt/alt/python27/lib/python2.7/site-packages/raven/utils/transaction.pyc
�
��Yc           @@  sP   d  d l  m Z d  d l m Z d e f d �  �  YZ d e f d �  �  YZ d S(   i    (   t   absolute_import(   t   localt   TransactionContextc           B@  s#   e  Z d  �  Z d �  Z d �  Z RS(   c         C@  s   | |  _  | |  _ d  S(   N(   t   stackt   context(   t   selfR   R   (    (    sH   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/transaction.pyt   __init__   s    	c         C@  s   |  j  j |  j � |  S(   N(   R   t   pushR   (   R   (    (    sH   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/transaction.pyt	   __enter__   s    c         G@  s   |  j  j |  j � d  S(   N(   R   t   popR   (   R   t   exc_info(    (    sH   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/transaction.pyt   __exit__   s    (   t   __name__t
   __module__R   R   R   (    (    (    sH   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/transaction.pyR      s   		t   TransactionStackc           B@  sS   e  Z d  �  Z d �  Z d �  Z d �  Z d �  Z d �  Z d �  Z d d � Z
 RS(	   c         C@  s
   g  |  _  d  S(   N(   R   (   R   (    (    sH   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/transaction.pyR      s    c         C@  s
   t  |  j � S(   N(   t   lenR   (   R   (    (    sH   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/transaction.pyt   __len__   s    c         C@  s
   t  |  j � S(   N(   t   iterR   (   R   (    (    sH   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/transaction.pyt   __iter__   s    c         C@  s
   t  |  | � S(   N(   R   (   R   R   (    (    sH   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/transaction.pyt   __call__   s    c         C@  s
   g  |  _  d  S(   N(   R   (   R   (    (    sH   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/transaction.pyt   clear    s    c         C@  s(   y |  j  d SWn t k
 r# d  SXd  S(   Ni����(   R   t
   IndexErrort   None(   R   (    (    sH   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/transaction.pyt   peek#   s    
c         C@  s   |  j  j | � | S(   N(   R   t   append(   R   R   (    (    sH   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/transaction.pyR   )   s    c         C@  sF   | d  k r |  j j �  Sx&