class Choices: @classmethod def choices(cls): d = cls.__dict__ return [d[item] for item in d.keys() if not item.startswith("__")] class ContestType: PUBLIC_CONTEST = "Public" PASSWORD_PROTECTED_CONTEST = "Password Protected" class ContestStatus: CONTEST_NOT_START = "1" CONTEST_ENDED = "-1" CONTEST_UNDERWAY = "0" class ContestRuleType(Choices): ACM = "ACM" OI = "OI" class CacheKey: waiting_queue = "waiting_queue" contest_rank_cache = "contest_rank_cache" website_config = "website_config" option = "option"