2019-01-30 09:59:15 -08:00
|
|
|
# Our own Enum class with custom functionality, not Python's
|
|
|
|
class CustomEnum():
|
|
|
|
# Adds an .includes function that tests if a value is in enum
|
|
|
|
def includes(self, enum: str):
|
|
|
|
return hasattr(self, enum)
|
|
|
|
|
2019-02-05 12:34:19 -08:00
|
|
|
# provide a list of enum values (strs)
|
|
|
|
def list(self):
|
|
|
|
return [attr for attr in dir(self)
|
|
|
|
if not callable(getattr(self, attr)) and
|
|
|
|
not attr.startswith('__')]
|
|
|
|
|
2019-01-30 09:59:15 -08:00
|
|
|
|
|
|
|
class ProposalStatusEnum(CustomEnum):
|
|
|
|
DRAFT = 'DRAFT'
|
|
|
|
PENDING = 'PENDING'
|
2019-01-31 14:56:16 -08:00
|
|
|
STAKING = 'STAKING'
|
2019-01-30 09:59:15 -08:00
|
|
|
APPROVED = 'APPROVED'
|
|
|
|
REJECTED = 'REJECTED'
|
|
|
|
LIVE = 'LIVE'
|
|
|
|
DELETED = 'DELETED'
|
2019-01-31 14:56:16 -08:00
|
|
|
|
|
|
|
|
2019-01-30 09:59:15 -08:00
|
|
|
ProposalStatus = ProposalStatusEnum()
|
|
|
|
|
|
|
|
|
2019-02-05 12:34:19 -08:00
|
|
|
class ProposalSortEnum(CustomEnum):
|
|
|
|
NEWEST = 'NEWEST'
|
|
|
|
OLDEST = 'OLDEST'
|
|
|
|
|
|
|
|
|
|
|
|
ProposalSort = ProposalSortEnum()
|
|
|
|
|
|
|
|
|
2019-01-30 09:59:15 -08:00
|
|
|
class ProposalStageEnum(CustomEnum):
|
|
|
|
FUNDING_REQUIRED = 'FUNDING_REQUIRED'
|
2019-02-11 21:10:09 -08:00
|
|
|
IN_PROGRESS = 'IN_PROGRESS'
|
2019-01-30 09:59:15 -08:00
|
|
|
COMPLETED = 'COMPLETED'
|
2019-01-31 14:56:16 -08:00
|
|
|
|
|
|
|
|
2019-01-30 09:59:15 -08:00
|
|
|
ProposalStage = ProposalStageEnum()
|
|
|
|
|
|
|
|
|
|
|
|
class CategoryEnum(CustomEnum):
|
|
|
|
DAPP = 'DAPP'
|
|
|
|
DEV_TOOL = 'DEV_TOOL'
|
|
|
|
CORE_DEV = 'CORE_DEV'
|
|
|
|
COMMUNITY = 'COMMUNITY'
|
|
|
|
DOCUMENTATION = 'DOCUMENTATION'
|
|
|
|
ACCESSIBILITY = 'ACCESSIBILITY'
|
2019-01-31 14:56:16 -08:00
|
|
|
|
|
|
|
|
2019-01-30 09:59:15 -08:00
|
|
|
Category = CategoryEnum()
|
|
|
|
|
|
|
|
|
|
|
|
class ContributionStatusEnum(CustomEnum):
|
|
|
|
PENDING = 'PENDING'
|
|
|
|
CONFIRMED = 'CONFIRMED'
|
|
|
|
DELETED = 'DELETED'
|
2019-01-31 14:56:16 -08:00
|
|
|
|
|
|
|
|
2019-01-30 09:59:15 -08:00
|
|
|
ContributionStatus = ContributionStatusEnum()
|
|
|
|
|
|
|
|
|
|
|
|
class RFPStatusEnum(CustomEnum):
|
|
|
|
DRAFT = 'DRAFT'
|
|
|
|
LIVE = 'LIVE'
|
|
|
|
CLOSED = 'CLOSED'
|
2019-01-31 14:56:16 -08:00
|
|
|
|
|
|
|
|
2019-01-30 09:59:15 -08:00
|
|
|
RFPStatus = RFPStatusEnum()
|
2019-02-11 13:08:51 -08:00
|
|
|
|
|
|
|
|
|
|
|
class MilestoneStageEnum(CustomEnum):
|
|
|
|
IDLE = 'IDLE'
|
|
|
|
REQUESTED = 'REQUESTED'
|
|
|
|
REJECTED = 'REJECTED'
|
|
|
|
ACCEPTED = 'ACCEPTED'
|
|
|
|
PAID = 'PAID'
|
|
|
|
|
|
|
|
|
|
|
|
MilestoneStage = MilestoneStageEnum()
|
2019-02-11 14:51:31 -08:00
|
|
|
|
|
|
|
|
2019-02-09 18:58:40 -08:00
|
|
|
class ProposalArbiterStatusEnum(CustomEnum):
|
|
|
|
MISSING = 'MISSING'
|
|
|
|
NOMINATED = 'NOMINATED'
|
|
|
|
ACCEPTED = 'ACCEPTED'
|
|
|
|
|
|
|
|
|
|
|
|
ProposalArbiterStatus = ProposalArbiterStatusEnum()
|