-
Notifications
You must be signed in to change notification settings - Fork 2
/
tesla_stores.py
154 lines (133 loc) · 4.94 KB
/
tesla_stores.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
from enum import Enum
class TeslaStore(int, Enum):
def __new__(cls, value, label):
obj = int.__new__(cls, value)
obj._value_ = value
obj.label = label
return obj
@classmethod
def _missing_(cls, value):
# This method is called when a value is not found in the enum
return cls.NA
NA = (0, 'N/A')
# Austria
AT_DO = (436108, 'Dornbirn Mühlebach Pop Up')
AT_G = (18438, 'Graz Kalsdorf')
AT_IL = (2938, 'Innsbruck')
AT_KL = (8730, 'Klagenfurt')
AT_L = (14839, 'Linz')
AT_W = (9340, 'Wien')
# Belgium
BE_BR = (14852, 'Brugge')
# Czech Republic
CZ_PR = (14499, 'Praha')
# Denmark
DK_AAL = (301419, 'Aalborg Storcenter')
DK_HER = (436102, 'HerningCentret Pop Up')
# Finland
FI_ESP = (438603, 'Espo Pop Up')
FI_TUR = (9118, 'Turku')
FI_VAN = (26258, 'Vantaa Petikko')
# France
FR_NIC = (446007, 'Boutique éphémère Tesla Nice Cap3000')
FR_MAR = (26558, 'Centre Tesla Aix-Marseille')
FR_REN = (30673, 'Rennes Pacé')
FR_ROU = (26278, 'Rouen Store')
FR_BAY = (413853, 'Tesla Bayonne')
FR_PAR = (407259, 'Tesla Paris St-Ouen')
# Germany
DE_A = (3693, 'Augsburg Gersthofen')
DE_BMOB = (9194, 'Berlin - Mall of Berlin')
DE_BREI = (18426, 'Berlin Reinickendorf')
DE_BSCH = (9556, 'Berlin Schönefeld')
DE_BSCHDEV = (16302, 'Berlin Schönefeld Delivery Hub')
DE_BS = (25762, 'Braunschweig Ölper')
DE_HB = (10512, 'Bremen Ottersberg')
DE_DO = (9467, 'Dortmund Holzwickede')
DE_DD = (14848, 'Dresden Kesselsdorf')
DE_DU = (13495, 'Duisburg Obermeiderich')
DE_D = (14845, 'Düsseldorf Lierenfeld')
DE_FL = (439754, 'Flensburg Gallerie Pop Up')
DE_F = (20906, 'Frankfurt Ostend')
DE_FR = (9093, 'Freiburg Gundelfingen')
DE_FUE = (28719, 'Fürth Hardhöhe')
DE_GI = (28725, 'Gießen An der Automeile')
DE_HH = (4225, 'Hamburg Wandsbek')
DE_H = (3951, 'Hannover Wülfel')
DE_HD = (438015, 'Heidelberg Altstadt Pop Up')
DE_HN = (3692, 'Heilbronn Sontheim')
DE_IN = (18430, 'Ingolstadt Oberhaunstadt')
DE_KA = (3690, 'Karlsruhe Rintheim')
DE_KI = (9095, 'Kiel Gettorf')
DE_KO = (18422, 'Koblenz Mülheim-Kärlich')
DE_K = (2841, 'Köln Mülheim')
DE_MD = (20823, 'Magdeburg Großer Silberberg')
DE_MA = (1501, 'Mannheim Friedrichsfeld')
DE_MFR = (2614, 'München Freiham')
DE_MPA = (18423, 'München Parsdorf')
DE_NU = (15929, 'Neu-Ulm Schwaighofen')
DE_N = (1250, 'Nürnberg St. Jobst')
DE_RO = (439780, 'Rosenheim Innenstadt Pop Up')
DE_HRONI = (9098, 'Rostock Nienhagen')
DE_SB = (26292, 'Saarbrücken Brebach-Fechingen')
DE_SHO = (27044, 'Stuttgart Holzgerlingen Sales, Used Car & Delivery Center')
DE_SWEI = (28717, 'Stuttgart Weinstadt')
# Hungary
HU_BUD = (12240, 'Tesla Center Budapest')
# Italy
IT_BOL = (406212, 'Bolzano')
IT_MILBLO = (424509, 'Milano-Merlata Bloom Pop Up')
# Norway
NO_BOD = (26253, 'Bodø')
NO_OSLSKI = (26256, 'Oslo-Ski')
# Poland
PL_KAT = (424807, 'Tesla Center Katowice')
PL_POZ = (437313, 'Tesla Center Poznań')
PL_WAR = (155134, 'Tesla Center Warszawa')
# Romania
RO_CLU = (444154, 'Pop Up Cluj')
RO_TIM = (433906, 'Tesla Timișoara Pop Up')
# Spain
ES_BAR = (36156, 'Barcelona')
ES_BIL = (21086, 'Bilbao')
ES_MAD = (8675, 'Madrid')
ES_MAL = (14704, 'Málaga')
ES_MALL = (4001206, 'Mallorca')
ES_SEV = (8680, 'Sevilla')
ES_VALL = (35032, 'Valladolid Pop Up')
ES_VAL = (58521, 'Valencia')
ES_VIG = (407764, 'Vigo')
# Sweden
SE_JKG = (9120, '10 Mogölsvägen Jönköping')
SE_OER = (413954, '1 Säljarevägen Örebro')
# Switzerland
CH_BASMOE = (481, 'Basel Möhlin')
CH_BASSTA = (918, 'Basel St. Alban')
CH_CHU = (442271, 'Chur Landquart Pop Up')
CH_GEN = (26458, 'Geneva')
CH_GENMEY = (298, 'Geneva Meyrin')
CH_LAUBUS = (9554, 'Lausanne Bussigny')
CH_LAULEF = (1425, 'Lausanne Le Flon')
CH_SCH = (439823, 'Schaffhausen Neuhausen Pop Up')
CH_STG = (1340, 'St. Gallen')
CH_ZUEPEL = (505, 'Zürich Pelikanstrasse')
CH_ZUESCH = (1257, 'Zürich Schlieren')
CH_ZUEWIN = (236, 'Zürich Winterthur')
# Turkey
TR_ARM = (425125, 'Tesla Armada AVM')
TR_MET = (426471, 'Tesla Metropol AVM')
# UK
UK_STA = (14843, 'St Albans')
UK_BIC = (58510, 'Tesla Centre Bicester')
UK_MAN = (36192, 'Tesla Centre Manchester Central')
UK_MIL = (17107, 'Tesla Centre Milton Keynes')
UK_REA = (14754, 'Tesla Centre Reading')
UK_SOL = (334993, 'Tesla Centre Solihull')
UK_WOL = (400821, 'Tesla Centre Wolverhampton')
UK_BRI = (1039, 'Tesla Certified Pre-Owned Centre Bristol')
@classmethod
def from_str(cls, input_str):
for TeslaStore in cls:
if TeslaStore.label == input_str:
return TeslaStore
raise ValueError(f"{cls.__name__} has no value matching {input_str}")