Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 ÝPfô&ã@slddlZddlmZddlZddlZddlZdZdd„ZGdd„deƒZ Gdd „d eƒZ Gd d „d e ƒZ dS) éN)Úsixiÿÿÿ?csBtˆƒdkr,tˆdƒr,dd„}|ˆdƒS‡‡fdd„}|SdS)zÆ Decorator function that instantiates the Retrying object @param *dargs: positional arguments passed to Retrying object @param **dkw: keyword arguments passed to the Retrying object ércstjˆƒ‡fdd„ƒ}|S)Ncstƒjˆf|ž|ŽS)N)ÚRetryingÚcall)ÚargsÚkw)Úf©ú/usr/lib/python3.6/retrying.pyÚ wrapped_f$sz-retry..wrap_simple..wrapped_f)rÚwraps)rr r )rr Ú wrap_simple"szretry..wrap_simplecstjˆƒ‡‡‡fdd„ƒ}|S)NcstˆˆŽjˆf|ž|ŽS)N)rr)rr)ÚdargsÚdkwrr r r /sz&retry..wrap..wrapped_f)rr )rr )rr)rr Úwrap-szretry..wrapN)ÚlenÚcallable)rrr rr )rrr Úretrys  rc@sneZdZddd„Zdd„Zdd„Zd d „Zd d „Zd d„Zdd„Z dd„Z dd„Z dd„Z dd„Z dd„ZdS)rNFcs |dkr dn||_|dkrdn||_|dkr0dn||_|dkrBdn||_|dkrTdn||_|dkrfdn||_| dkrxdn| |_| dkrŠdn| |_| dkrœtn| |_ |dkr®dn||_ g‰|dk r̈j |j ƒ|dk ràˆj |j ƒ|dk rð||_n&|dk�r ‡fdd„|_n t||ƒ|_dd„g‰|dk �r6ˆj |jƒ|dk �sJ|dk �rVˆj |jƒ|dk �sj| dk �rvˆj |jƒ| dk �sŠ| dk �r–ˆj |jƒ|dk �r¨||_n&|dk�r‡fd d„|_n t||ƒ|_| dk�râ|j|_n| |_| dk�rü|j|_n| |_||_dS) Néédièrrcst‡‡fdd„ˆDƒƒS)Nc3s|]}|ˆˆƒVqdS)Nr )Ú.0r)ÚattemptsÚdelayr r ú asz6Retrying.__init__....)Úany)rr)Ú stop_funcs)rrr Úasz#Retrying.__init__..c_sdS)Nrr )rÚkwargsr r r rhscst‡‡fdd„ˆDƒƒS)Nc3s|]}|ˆˆƒVqdS)Nr )rr)rrr r rysz6Retrying.__init__....)Úmax)rr)Ú wait_funcs)rrr rys)Ú_stop_max_attempt_numberÚ_stop_max_delayÚ _wait_fixedÚ_wait_random_minÚ_wait_random_maxÚ_wait_incrementing_startÚ_wait_incrementing_incrementÚ_wait_exponential_multiplierÚMAX_WAITÚ_wait_exponential_maxÚ_wait_jitter_maxÚappendÚstop_after_attemptÚstop_after_delayÚstopÚgetattrÚ fixed_sleepÚ random_sleepÚincrementing_sleepÚexponential_sleepÚwaitÚ always_rejectÚ_retry_on_exceptionÚ never_rejectÚ_retry_on_resultÚ_wrap_exception)Úselfr.r4Zstop_max_attempt_numberZstop_max_delayZ wait_fixedZwait_random_minZwait_random_maxZwait_incrementing_startZwait_incrementing_incrementZwait_exponential_multiplierZwait_exponential_maxZretry_on_exceptionZretry_on_resultÚwrap_exceptionZ stop_funcZ wait_funcZwait_jitter_maxr )rrr Ú__init__:sR                 zRetrying.__init__cCs ||jkS)z;Stop after the previous attempt >= stop_max_attempt_number.)r )r:Úprevious_attempt_numberÚdelay_since_first_attempt_msr r r r,�szRetrying.stop_after_attemptcCs ||jkS)z=Stop after the time from the first attempt >= stop_max_delay.)r!)r:r=r>r r r r-‘szRetrying.stop_after_delaycCsdS)z#Don't sleep at all before retrying.rr )r:r=r>r r r Úno_sleep•szRetrying.no_sleepcCs|jS)z0Sleep a fixed amount of time between each retry.)r")r:r=r>r r r r0™szRetrying.fixed_sleepcCstj|j|jƒS)zISleep a random amount of time between wait_random_min and wait_random_max)ÚrandomZrandintr#r$)r:r=r>r r r r1�szRetrying.random_sleepcCs$|j|j|d}|dkr d}|S)z¥ Sleep an incremental amount of time after each attempt, starting at wait_incrementing_start and incrementing by wait_incrementing_increment rr)r%r&)r:r=r>Úresultr r r r2¡szRetrying.incrementing_sleepcCs2d|}|j|}||jkr"|j}|dkr.d}|S)Nér)r'r))r:r=r>ZexprAr r r r3«s  zRetrying.exponential_sleepcCsdS)NFr )r:rAr r r r7´szRetrying.never_rejectcCsdS)NTr )r:rAr r r r5·szRetrying.always_rejectcCs4d}|jr ||j|jdƒO}n||j|jƒO}|S)NFr)Ú has_exceptionr6Úvaluer8)r:ÚattemptZrejectr r r Ú should_rejectºs zRetrying.should_rejectc Osútttjƒdƒƒ}d}xÜyt|||Ž|dƒ}Wn tjƒ}t||dƒ}YnX|j|ƒsh|j|jƒStttjƒdƒƒ|}|j ||ƒr®|j r¤|j r¤|jƒ‚qêt |ƒ‚n<|j ||ƒ} |j rÜtjƒ|j } | td| ƒ} tj| dƒ|d7}qWdS)NièrFTrg@�@)ÚintÚroundÚtimeÚAttemptÚsysÚexc_inforFÚgetr9r.rCÚ RetryErrorr4r*r@rÚsleep) r:ÚfnrrZ start_timeÚattempt_numberrEÚtbr>rOZjitterr r r rÃs*      z Retrying.call)NNNNNNNNNNNNNFNNN)Ú__name__Ú __module__Ú __qualname__r<r,r-r?r0r1r2r3r7r5rFrr r r r r8s0 F   rc@s*eZdZdZdd„Zd dd„Zdd„Zd S) rJz¾ An Attempt encapsulates a call to a target function that may end as a normal return value from the function or an Exception depending on what occurred during the execution. cCs||_||_||_dS)N)rDrQrC)r:rDrQrCr r r r<èszAttempt.__init__FcCs@|jr6|rt|ƒ‚qs *!