DrugDesign Data Analysis
https://gitlab.com/UmbrellaLeaf5/drugdesign_parsing
Loading...
Searching...
No Matches
decorators Namespace Reference

Functions

Callable IgnoreWarnings (Callable func)
 
Callable Retry (attempts_amount=3, exception_to_check=Exception, sleep_time=1)
 

Function Documentation

◆ IgnoreWarnings()

Callable decorators.IgnoreWarnings ( Callable func)
Декоратор для игнорирования предупреждений RuntimeWarning и UserWarning

Args:
    func (Callable): декорируемая функция

Returns:
    Callable: декорируемая функция
9def IgnoreWarnings(func: Callable) -> Callable:
10 """
11 Декоратор для игнорирования предупреждений RuntimeWarning и UserWarning
12
13 Args:
14 func (Callable): декорируемая функция
15
16 Returns:
17 Callable: декорируемая функция
18 """
19
20 @wraps(func)
21 def Wrapper(*args, **kwargs):
22 with warnings.catch_warnings():
23 warnings.simplefilter("ignore", RuntimeWarning)
24 warnings.simplefilter("ignore", UserWarning)
25
26 return func(*args, **kwargs)
27
28 return Wrapper
29
30

◆ Retry()

Callable decorators.Retry ( attempts_amount = 3,
exception_to_check = Exception,
sleep_time = 1 )
Декоратор для повторения попыток выполнения функции

Args:
    attempts_amount (int, optional): кол-во попыток. Defaults to 3.
    exception_to_check (_type_, optional): улавливаемое исключение. Defaults to Exception.
    sleep_time (int, optional): время ожидания между попытками. Defaults to 1.

Returns:
    Callable: декорируемая функция
31def Retry(attempts_amount=3, exception_to_check=Exception, sleep_time=1) -> Callable:
32 """
33 Декоратор для повторения попыток выполнения функции
34
35 Args:
36 attempts_amount (int, optional): кол-во попыток. Defaults to 3.
37 exception_to_check (_type_, optional): улавливаемое исключение. Defaults to Exception.
38 sleep_time (int, optional): время ожидания между попытками. Defaults to 1.
39
40 Returns:
41 Callable: декорируемая функция
42 """
43
44 def Decorate(func: Callable) -> Callable:
45 @wraps(func)
46 def Wrapper(*args, **kwargs):
47 for attempt in range(1, attempts_amount+1):
48 try:
49 return func(*args, **kwargs)
50
51 except exception_to_check as exception:
52 logger.warning(f"{exception} | Attempt: {
53 attempt}".ljust(77))
54 if attempt < attempts_amount:
55 time.sleep(sleep_time)
56
57 logger.error("All attempts failed".ljust(77))
58 return None
59 return Wrapper
60 return Decorate