Repository URL to install this package:
|
Version:
3.3.35 ▾
|
ó
ìEYc @ s¢ d d l Z d d l Z d d l m Z d Z e j e Z d Z d e f d YZ
d e f d YZ d e f d
YZ
d e f d YZ d S(
iÿÿÿÿN( t monotonici c G s% x | D] } | d k r | Sq Wd S( sE Returns first of values that is *not* None (or None if all are/were).N( t None( t valuest val( ( sE /home/tvault/.virtenv/lib/python2.7/site-packages/fasteners/_utils.pyt pick_first_not_none s
t LockStackc B s5 e Z d Z d d Z d Z d Z d Z RS( sã Simple lock stack to get and release many locks.
An instance of this should **not** be used by many threads at the
same time, as the stack that is maintained will be corrupted and
invalid if that is attempted.
c C s g | _ t | t | _ d S( N( t _stackR t LOGt _logger( t selft logger( ( sE /home/tvault/.virtenv/lib/python2.7/site-packages/fasteners/_utils.pyt __init__. s c C s) | j } | r% | j j | n | S( N( t acquireR t append( R t lockt gotten( ( sE /home/tvault/.virtenv/lib/python2.7/site-packages/fasteners/_utils.pyt acquire_lock2 s c C s | S( N( ( R ( ( sE /home/tvault/.virtenv/lib/python2.7/site-packages/fasteners/_utils.pyt __enter__8 s c C sz t | j } | } x^ | j ru | j j } y | j Wn' t k
rg | j j d | | n X| d 8} q Wd S( Ns6 Failed releasing lock %s from lock stack with %s locksi ( t lenR t popt releaset ExceptionR t exception( R t exc_typet exc_valuet exc_tbt am_leftt tot_amR ( ( sE /home/tvault/.virtenv/lib/python2.7/site-packages/fasteners/_utils.pyt __exit__; s
N( t __name__t
__module__t __doc__R R R R R ( ( ( sE /home/tvault/.virtenv/lib/python2.7/site-packages/fasteners/_utils.pyR &