37 lines
772 B
Python
37 lines
772 B
Python
"""
|
|
Global constants
|
|
|
|
Exports:
|
|
- Environment(StrEnum): LOCAL, TESTING, STAGING, PRODUCTION
|
|
"""
|
|
|
|
from enum import StrEnum, auto
|
|
|
|
|
|
class Environment(StrEnum):
|
|
"""
|
|
Enumeration of environments.
|
|
|
|
Attributes:
|
|
LOCAL (str): Application is running locally
|
|
TESTING (str): Application is running in testing mode
|
|
STAGING (str): Application is running in staging mode (ie not testing)
|
|
PRODUCTION (str): Application is running in production mode
|
|
"""
|
|
|
|
LOCAL = auto()
|
|
TESTING = auto()
|
|
STAGING = auto()
|
|
PRODUCTION = auto()
|
|
|
|
@property
|
|
def is_debug(self):
|
|
return self in (self.LOCAL, self.STAGING, self.TESTING)
|
|
|
|
@property
|
|
def is_testing(self):
|
|
return self == self.TESTING
|
|
|
|
@property
|
|
def is_deployed(self) -> bool:
|
|
return self in (self.STAGING, self.PRODUCTION)
|