File size: 1,658 Bytes
4b532c0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Copyright (c) OpenMMLab. All rights reserved.
from enum import Enum


class Priority(Enum):
    """Hook priority levels.



    +--------------+------------+

    | Level        | Value      |

    +==============+============+

    | HIGHEST      | 0          |

    +--------------+------------+

    | VERY_HIGH    | 10         |

    +--------------+------------+

    | HIGH         | 30         |

    +--------------+------------+

    | ABOVE_NORMAL | 40         |

    +--------------+------------+

    | NORMAL       | 50         |

    +--------------+------------+

    | BELOW_NORMAL | 60         |

    +--------------+------------+

    | LOW          | 70         |

    +--------------+------------+

    | VERY_LOW     | 90         |

    +--------------+------------+

    | LOWEST       | 100        |

    +--------------+------------+

    """

    HIGHEST = 0
    VERY_HIGH = 10
    HIGH = 30
    ABOVE_NORMAL = 40
    NORMAL = 50
    BELOW_NORMAL = 60
    LOW = 70
    VERY_LOW = 90
    LOWEST = 100


def get_priority(priority):
    """Get priority value.



    Args:

        priority (int or str or :obj:`Priority`): Priority.



    Returns:

        int: The priority value.

    """
    if isinstance(priority, int):
        if priority < 0 or priority > 100:
            raise ValueError('priority must be between 0 and 100')
        return priority
    elif isinstance(priority, Priority):
        return priority.value
    elif isinstance(priority, str):
        return Priority[priority.upper()].value
    else:
        raise TypeError('priority must be an integer or Priority enum value')