a  ze@s ddlZddlZddlZejr*ddlmZGdddejZGdddeZeZ GdddeZ e Z Gd d d eZ Gd d d e Z Gd dde ZGddde ZGdddeZGdddeZGddde ZGdddeZGdddeZGdddeZdS)N)RetryCallStatec@sFeZdZdZejdedddZddddd Zdd dd d Z d S) retry_basez)Abstract base class for retry strategies.r retry_statereturncCsdSNselfrrr\/opt/bitninja-python-dojo/embedded/lib/python3.9/site-packages/pip/_vendor/tenacity/retry.py__call__szretry_base.__call__ retry_all)otherrcCs t||Sr)r r rrrr __and__ szretry_base.__and__ retry_anycCs t||Sr)rrrrr __or__#szretry_base.__or__N) __name__ __module__ __qualname____doc__abcabstractmethodboolr rrrrrr rs rc@s eZdZdZdedddZdS) _retry_neverz-Retry strategy that never rejects any result.rrcCsdSNFrr rrr r *sz_retry_never.__call__Nrrrrrr rrrr r'src@s eZdZdZdedddZdS) _retry_alwaysz.Retry strategy that always rejects any result.rrcCsdSNTrr rrr r 4sz_retry_always.__call__Nrrrrr r1src@s<eZdZdZejegefddddZdeddd Z dS) retry_if_exceptionzARetry strategy that retries if an exception verifies a predicate.N predicatercCs ||_dSrr!r r!rrr __init__>szretry_if_exception.__init__rrcCs |jjr||jSdSdSroutcomefailedr! exceptionr rrr r Aszretry_if_exception.__call__) rrrrtypingCallable BaseExceptionrr$r rrrr r;srcsLeZdZdZefejejeej ejedffddfdd Z Z S)retry_if_exception_typez=Retries if an exception has been raised of one or more types..Nexception_typesrcs|_tfdddS)Ncs t|Sr isinstanceer.rr Sz2retry_if_exception_type.__init__..r.superr$r r. __class__r3r r$Ksz retry_if_exception_type.__init__ rrrr Exceptionr)UnionTyper+Tupler$ __classcell__rrr9r r,Hsr,csLeZdZdZefejejeej ejedffddfdd Z Z S)retry_if_not_exception_typezARetries except an exception has been raised of one or more types..Nr-cs|_tfdddS)Ncs t| Srr/r1r3rr r4ar5z6retry_if_not_exception_type.__init__..r6r8r9r3r r$Ysz$retry_if_not_exception_type.__init__r;rrr9r rAVsrAcs\eZdZdZefejejeej ejedffddfdd Z de dd d Z Z S) retry_unless_exception_typez:Retries until an exception is raised of one or more types..Nr-cs|_tfdddS)Ncs t| Srr/r1r3rr r4or5z6retry_unless_exception_type.__init__..r6r8r9r3r r$gsz$retry_unless_exception_type.__init__rrcCs|jjs dS||jSrr%r rrr r qsz$retry_unless_exception_type.__call__)rrrrr<r)r=r>r+r?r$rr r@rrr9r rBds rBc@s>eZdZdZejejgefddddZdeddd Z dS) retry_if_resultz+Retries if the result verifies a predicate.Nr cCs ||_dSrr"r#rrr r${szretry_if_result.__init__rrcCs |jjs||jSdSdSrr&r'r!resultr rrr r ~szretry_if_result.__call__ rrrrr)r*Anyrr$r rrrr rCxsrCc@s>eZdZdZejejgefddddZdeddd Z dS) retry_if_not_resultz*Retries if the result refutes a predicate.Nr cCs ||_dSrr"r#rrr r$szretry_if_not_result.__init__rrcCs"|jjs||j SdSdSrrDr rrr r szretry_if_not_result.__call__rFrrrr rHsrHcs8eZdZdZdejeejeddfdd ZZS)retry_if_exception_messagez2Retries if an exception message equals or matches.Nmessagematchrcsr|rt|jjdr8ttdfdd }|}n:|r`t|ttdfdd }|}nt|jjdt|dS)Nz.() takes either 'message' or 'match', not both)r(rcs t|kSr)strr()rKrr message_fncsz8retry_if_exception_message.__init__..message_fnccstt|Sr)rrLrMrN)progrr match_fncsz6retry_if_exception_message.__init__..match_fncz3() missing 1 required argument 'message' or 'match') TypeErrorr:rr+rrecompiler7r$)r rKrLrOr!rQr9)rKrPr r$s z#retry_if_exception_message.__init__)NN) rrrrr)OptionalrMr$r@rrr9r rIsrIcsHeZdZdZd ejeejeddfdd Zdeddd Z Z S) retry_if_not_exception_messagez5Retries until an exception message equals or matches.NrJcs&t|||jfdd|_dS)Ncs|i| Srr)args_kwargs_ if_predicaterr r4r5z9retry_if_not_exception_message.__init__..)r7r$r!)r rKrLr9rYr r$sz'retry_if_not_exception_message.__init__rrcCs|jjs dS||jSrr%r rrr r sz'retry_if_not_exception_message.__call__)NN) rrrrr)rUrMr$rr r@rrr9r rVs rVc@s0eZdZdZeddddZdeddd ZdS) rz1Retries if any of the retries condition is valid.NretriesrcGs ||_dSrr\r r\rrr r$szretry_any.__init__rrcstfdd|jDS)Nc3s|]}|VqdSrr.0rrrr r5z%retry_any.__call__..)anyr\r rrbr r szretry_any.__call__rrrrrr$rr rrrr rsrc@s0eZdZdZeddddZdeddd ZdS) r z/Retries if all the retries condition are valid.Nr[cGs ||_dSrr]r^rrr r$szretry_all.__init__rrcstfdd|jDS)Nc3s|]}|VqdSrrr_rbrr rcr5z%retry_all.__call__..)allr\r rrbr r szretry_all.__call__rerrrr r sr )rrSr) TYPE_CHECKINGpip._vendor.tenacityrABCrr retry_neverr retry_alwaysrr,rArBrCrHrIrVrr rrrr s&