class Type(djchoices.DjangoChoices): SOCIAL = djchoices.ChoiceItem(1, 'Социальная скидка') PARTNER = djchoices.ChoiceItem(2, 'Скидка от партнёра') STATE = djchoices.ChoiceItem(3, 'Скидка от государства') OLYMPIADS = djchoices.ChoiceItem(4, 'Олимпиадная скидка') ORGANIZATION = djchoices.ChoiceItem(5, 'Частичная оплата от организации')
class Color(djchoices.DjangoChoices): BLACK = djchoices.ChoiceItem(reportlab.lib.colors.black.hexval(), 'Black') WHITE = djchoices.ChoiceItem(reportlab.lib.colors.white.hexval(), 'White') RED = djchoices.ChoiceItem(reportlab.lib.colors.red.hexval(), 'Red') GREEN = djchoices.ChoiceItem(reportlab.lib.colors.green.hexval(), 'Green') BLUE = djchoices.ChoiceItem(reportlab.lib.colors.blue.hexval(), 'Blue') YELLOW = djchoices.ChoiceItem(reportlab.lib.colors.yellow.hexval(), 'Yellow') CYAN = djchoices.ChoiceItem(reportlab.lib.colors.cyan.hexval(), 'Cyan') MAGENTA = djchoices.ChoiceItem(reportlab.lib.colors.magenta.hexval(), 'Magenta') BROWN = djchoices.ChoiceItem(reportlab.lib.colors.brown.hexval(), 'Brown')
class Type(djchoices.DjangoChoices): NONE = djchoices.ChoiceItem( value=0, label='Нет доступа, группа не видна', ) LIST_MEMBERS = djchoices.ChoiceItem( value=10, label='Может просматривать участников', ) EDIT_MEMBERS = djchoices.ChoiceItem( value=20, label='Может добавлять и удалять участников', ) ADMIN = djchoices.ChoiceItem( value=30, label='Полный доступ', )
class Status(djchoices.DjangoChoices): NONE = djchoices.ChoiceItem(0, 'Нет дома') CLOSE_NEGATIVE = djchoices.ChoiceItem(1, 'Не открыли - отказ') OPEN_NEGATIVE = djchoices.ChoiceItem(2, 'Открыли - отказ') OPEN_DOUBTING = djchoices.ChoiceItem(5, 'Открыли - сомневающийся') POSITIVE = djchoices.ChoiceItem(3, 'Открыли - сторонник') AGGRESSIVE = djchoices.ChoiceItem(4, 'Агрессия')
class Status(djchoices.DjangoChoices): NOT_PARTICIPATED = djchoices.ChoiceItem(1, 'Не участвовал в конкурсе') AUTO_REJECTED = djchoices.ChoiceItem(2, 'Автоматический отказ') NOT_ENROLLED = djchoices.ChoiceItem(3, 'Не прошёл по конкурсу') ENROLLED = djchoices.ChoiceItem(4, 'Поступил') PARTICIPATING = djchoices.ChoiceItem(5, 'Подал заявку') IN_RESERVE_LIST = djchoices.ChoiceItem(6, 'В резервном списке')
class Currency(djchoices.DjangoChoices): RUB = djchoices.ChoiceItem(value=0, label='Рубли') EUR = djchoices.ChoiceItem(value=1, label='Евро') USD = djchoices.ChoiceItem(value=2, label='Доллар')
class Result(djchoices.DjangoChoices): OK = djchoices.ChoiceItem(0, label='OK') COMPILE_ERROR = djchoices.ChoiceItem(1, label='Compilation error') RUNTIME_ERROR = djchoices.ChoiceItem(2, label='Run-time error') TIME_LIMIT_ERROR = djchoices.ChoiceItem(3, label='Time-limit exceeded') PRESENTATION_ERROR = djchoices.ChoiceItem(4, label='Presentation error') WRONG_ANSWER_ERROR = djchoices.ChoiceItem(5, label='Wrong answer') CHECK_FAILED_ERROR = djchoices.ChoiceItem(6, label='Check failed') PARTIAL_SOLUTION = djchoices.ChoiceItem(7, label='Partial solution') MEMORY_LIMIT_ERROR = djchoices.ChoiceItem( 12, label='Memory limit exceeded') SECURITY_ERROR = djchoices.ChoiceItem(13, label='Security violation') STYLE_ERROR = djchoices.ChoiceItem(14, label='Coding style violation') WALL_TIME_LIMIT_ERROR = djchoices.ChoiceItem( 15, label='Wall time-limit exceeded') SKIPPED = djchoices.ChoiceItem(18, label='Skipped') UNKNOWN = djchoices.ChoiceItem(100, label='Unknown result') russian_labels = { 0: 'OK', 1: 'Ошибка компиляции', 2: 'Ошибка во время выполнения', 3: 'Превышено максимальное время работы', 4: 'Неправильный формат вывода', 5: 'Неправильный ответ', 6: 'Ошибка проверяющей программы', 7: 'Частичное решение', 12: 'Превышено максимальный размер памяти', 13: 'Ошибка безопасности', 14: 'Нарушение правил оформления программы', 15: 'Превышено максимальное время работы', 18: 'Пропущено', 100: 'Неизвестный результат', } @classmethod def from_ejudge_status(cls, ejudge_status): for val, label in cls.values.items(): if label == ejudge_status: return val return cls.UNKNOWN
class Status(djchoices.DjangoChoices): NOT_FETCHED = djchoices.ChoiceItem(1) SUBMITTED = djchoices.ChoiceItem(2) CHECKED = djchoices.ChoiceItem(3) WONT_CHECK = djchoices.ChoiceItem(4)
class Status(djchoices.DjangoChoices): NOT_FILLED = djchoices.ChoiceItem(1) FILLED = djchoices.ChoiceItem(2)
class TasksGroping(djchoices.DjangoChoices): ByCategories = djchoices.ChoiceItem(label='By categories') OneByOne = djchoices.ChoiceItem(label='One by one')
class ContestParticipationMode(djchoices.DjangoChoices): Individual = djchoices.ChoiceItem() Team = djchoices.ChoiceItem()
class ContestRegistrationType(djchoices.DjangoChoices): Open = djchoices.ChoiceItem() Moderated = djchoices.ChoiceItem() Closed = djchoices.ChoiceItem()
class TableCellAlignment(djchoices.DjangoChoices): LEFT = djchoices.ChoiceItem() RIGHT = djchoices.ChoiceItem() CENTER = djchoices.ChoiceItem() DECIMAL = djchoices.ChoiceItem()
class EventAreaChoices(djchoices.DjangoChoices): scientific = djchoices.ChoiceItem(0, 'Научная') cultural = djchoices.ChoiceItem(1, 'Культурная') sports = djchoices.ChoiceItem(2, 'Спортивная') social = djchoices.ChoiceItem(4, 'Общественная')
class Alignment(djchoices.DjangoChoices): JUSTIFY = djchoices.ChoiceItem(reportlab.lib.enums.TA_JUSTIFY, 'Justify') LEFT = djchoices.ChoiceItem(reportlab.lib.enums.TA_LEFT, 'Left') RIGHT = djchoices.ChoiceItem(reportlab.lib.enums.TA_RIGHT, 'Right') CENTER = djchoices.ChoiceItem(reportlab.lib.enums.TA_CENTER, 'Center')
class EducationalFormChoices(djchoices.DjangoChoices): budget = djchoices.ChoiceItem(0, 'Бюджет') contract = djchoices.ChoiceItem(1, 'Контракт')
class WinningPlaceChoices(djchoices.DjangoChoices): first = djchoices.ChoiceItem(1, '1 место') second = djchoices.ChoiceItem(2, '2 место') third = djchoices.ChoiceItem(3, '3 место') participation = djchoices.ChoiceItem(0, 'участие')
class EventLevelChoices(djchoices.DjangoChoices): international = djchoices.ChoiceItem(0, 'Международный') all_russian = djchoices.ChoiceItem(1, 'Всероссийский') regional = djchoices.ChoiceItem(2, 'Региональный') urban = djchoices.ChoiceItem(3, 'Городской') university = djchoices.ChoiceItem(4, 'Университетский')
class Evaluation(djchoices.DjangoChoices): NOT_APPLICABLE = djchoices.ChoiceItem('N/A', 'N/A') TWO = djchoices.ChoiceItem('2', '2') THREE_MINUS = djchoices.ChoiceItem('3-', '3-') THREE = djchoices.ChoiceItem('3', '3') THREE_PLUS = djchoices.ChoiceItem('3+', '3+') FOUR_MINUS = djchoices.ChoiceItem('4-', '4-') FOUR = djchoices.ChoiceItem('4', '4') FOUR_PLUS = djchoices.ChoiceItem('4+', '4+') FIVE_MINUS = djchoices.ChoiceItem('5-', '5-') FIVE = djchoices.ChoiceItem('5', '5') FIVE_PLUS = djchoices.ChoiceItem('5+', '5+')
class PageSize(djchoices.DjangoChoices): A6 = djchoices.ChoiceItem() A5 = djchoices.ChoiceItem() A4 = djchoices.ChoiceItem() A3 = djchoices.ChoiceItem() A2 = djchoices.ChoiceItem() A1 = djchoices.ChoiceItem() A0 = djchoices.ChoiceItem() LETTER = djchoices.ChoiceItem(label='Letter') LEGAL = djchoices.ChoiceItem(label='Legal') ELEVEN_SEVENTEEN = djchoices.ChoiceItem(label='11x17') B6 = djchoices.ChoiceItem() B5 = djchoices.ChoiceItem() B4 = djchoices.ChoiceItem() B3 = djchoices.ChoiceItem() B2 = djchoices.ChoiceItem() B1 = djchoices.ChoiceItem() B0 = djchoices.ChoiceItem() @classmethod def get_pagesize(cls, page_size_str): return getattr(reportlab.lib.pagesizes, page_size_str)