| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- # Copyright (c) OpenMMLab. All rights reserved.
- # Copyright (c) Alibaba, Inc. and its affiliates.
- from enum import Enum
- from typing import Union
- 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: Union[int, str, Priority]) -> int:
- """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')
|