Spaces:
Running
Running
| from enum import Enum | |
| from typing import Optional | |
| class EnumWithFrValue(Enum): | |
| def __new__(cls, value, fr_value): | |
| member = object.__new__(cls) | |
| member._value_ = value | |
| member._fr_value = fr_value | |
| return member | |
| def fr_value(self): | |
| return self._fr_value | |
| def get_by_value(cls, value: Optional[str]) -> Optional[Enum]: | |
| if value: | |
| for member in cls: | |
| if member.value == value: | |
| return member | |
| return None | |
| def get_fr_value_from_value(cls, value: Optional[str]) -> str: | |
| if value: | |
| for member in cls: | |
| if member.value == value: | |
| return member.fr_value | |
| return value | |
| else: | |
| return "" | |
| class Round(EnumWithFrValue): | |
| FIRST = ("1st Round", "1er Tour") | |
| SECOND = ("2nd Round", "2e Tour") | |
| THIRD = ("3rd Round", "3e Tour") | |
| FOURTH = ("4th Round", "4e Tour") | |
| QUARTER = ("Quarterfinals", "Quarts de Finale") | |
| SEMI = ("Semifinals", "Demi-Finales") | |
| FINAL = ("The Final", "La Finale") | |
| ROUND_ROBIN = ("Round Robin", "Phase de Poules") | |
| class Surfaces(EnumWithFrValue): | |
| HARD = ("Hard", "Dur") | |
| CLAY = ("Clay", "Terre Battue") | |
| GRASS = ("Grass", "Gazon") | |
| CARPET = ("Carpet", "Synthétique") | |
| class Courts(EnumWithFrValue): | |
| INDOOR = ("Indoor", "Intérieur") | |
| OUTDOOR = ("Outdoor", "Extérieur") | |
| class Series(EnumWithFrValue): | |
| ATP250 = ("ATP250", "ATP 250") | |
| ATP500 = ("ATP500", "ATP 500") | |
| MASTERS = ("Masters", "Masters") | |
| MASTERS_1000 = ("Masters 1000", "Masters 1000") | |
| MASTERS_CUP = ("Masters Cup", "Masters Cup") | |
| GRAND_SLAM = ("Grand Slam", "Grand Chelem") | |
| INTERNATIONAL = ("International", "International") | |
| INTERNATIONAL_GOLD = ("International Gold", "International Gold") | |