Repository URL to install this package:
Version:
4.0.114 ▾
|
ó ì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 &