Coverage for bundesliga_tippspiel/utils/teams.py: 100%
Shortcuts on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
Shortcuts on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1"""LICENSE
2Copyright 2017 Hermann Krumrey <hermann@krumreyh.com>
4This file is part of bundesliga-tippspiel.
6bundesliga-tippspiel is free software: you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation, either version 3 of the License, or
9(at your option) any later version.
11bundesliga-tippspiel is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
16You should have received a copy of the GNU General Public License
17along with bundesliga-tippspiel. If not, see <http://www.gnu.org/licenses/>.
18LICENSE"""
20from typing import Tuple
23def get_team_data(team_name: str) -> Tuple[str, str, str, Tuple[str, str]]:
24 """
25 Generates team short_names, abbreviations and icon URLs for teams
26 :param team_name: The team's full name as specified by OpenLigaDB
27 :return: A tuple containing the
28 name, short_name, abbreviation, svg URL, png URL
29 """
30 # Tuples: abbrv: openligadb name, full name, short name, logos
31 team_map = {
32 "FCN": (
33 "1. FC Nürnberg", "1. FC Nürnberg", "1. FC Nürnberg",
34 wikimedia_icon_urls("commons/f/fa/1._FC_Nürnberg_logo.svg")
35 ),
36 "M05": (
37 "1. FSV Mainz 05", "1. FSV Mainz 05", "FSV Mainz 05",
38 wikimedia_icon_urls("commons/0/0b/FSV_Mainz_05_Logo.svg")
39 ),
40 "B04": (
41 "Bayer Leverkusen", "Bayer 04 Leverkusen", "Bayer Leverkusen",
42 wikimedia_icon_urls("de/f/f7/Bayer_Leverkusen_Logo.svg")
43 ),
44 "BVB": (
45 "Borussia Dortmund", "Borussia Dortmund", "BVB Dortmund",
46 wikimedia_icon_urls("commons/6/67/Borussia_Dortmund_logo.svg")
47 ),
48 "BMG": (
49 "Borussia Mönchengladbach", "Borussia Mönchengladbach",
50 "M'Gladbach", wikimedia_icon_urls("commons/8/81/Borussia_"
51 "Mönchengladbach_logo.svg")
52 ),
53 "SGE": (
54 "Eintracht Frankfurt", "Eintracht Frankfurt", "Frankfurt",
55 wikimedia_icon_urls("commons/0/04/Eintracht_Frankfurt_Logo.svg")
56 ),
57 "FCA": (
58 "FC Augsburg", "FC Augsburg", "FC Augsburg",
59 wikimedia_icon_urls("de/b/b5/Logo_FC_Augsburg.svg")
60 ),
61 "FCB": (
62 "FC Bayern München", "FC Bayern München", "FC Bayern",
63 wikimedia_icon_urls("commons/1/1b/"
64 "FC_Bayern_München_logo_(2017).svg")
65 ),
66 "S04": (
67 "FC Schalke 04", "FC Schalke 04", "Schalke 04",
68 wikimedia_icon_urls("commons/6/6d/FC_Schalke_04_Logo.svg")
69 ),
70 "F95": (
71 "Fortuna Düsseldorf", "Fortuna Düsseldorf", "Düsseldorf",
72 wikimedia_icon_urls("commons/9/94/Fortuna_D%C3%BCsseldorf.svg")
73 ),
74 "H96": (
75 "Hannover 96", "Hannover 96", "Hannover 96",
76 wikimedia_icon_urls("commons/c/cd/Hannover_96_Logo.svg")
77 ),
78 "BSC": (
79 "Hertha BSC", "Hertha BSC Berlin", "Hertha BSC",
80 wikimedia_icon_urls("commons/8/81/Hertha_BSC_Logo_2012.svg")
81 ),
82 "RBL": (
83 "RB Leipzig", "RB Leibzig", "RB Leibzig",
84 wikimedia_icon_urls("it/c/cc/RB_Leipzig_primo_logo.svg")
85 ),
86 "SCF": (
87 "SC Freiburg", "SC Freiburg", "SC Freiburg",
88 wikimedia_icon_urls("de/8/88/Logo-SC_Freiburg.svg")
89 ),
90 "TSG": (
91 "TSG 1899 Hoffenheim", "TSG 1899 Hoffenheim", "TSG Hoffenheim",
92 wikimedia_icon_urls("commons/e/e7/Logo_TSG_Hoffenheim.svg")
93 ),
94 "VFB": (
95 "VfB Stuttgart", "VFB Stuttgart", "VFB Stuttgart",
96 wikimedia_icon_urls("commons/e/eb/VfB_Stuttgart_1893_Logo.svg")
97 ),
98 "WOB": (
99 "VfL Wolfsburg", "VFL Wolfsburg", "VFL Wolfsburg",
100 wikimedia_icon_urls("commons/c/ce/VfL_Wolfsburg_Logo.svg")
101 ),
102 "BRE": (
103 "Werder Bremen", "SV Werder Bremen", "Werder Bremen",
104 wikimedia_icon_urls("commons/b/be/SV-Werder-Bremen-Logo.svg")
105 ),
106 "FCU": (
107 "1. FC Union Berlin", "1. FC Union Berlin", "Union Berlin",
108 wikimedia_icon_urls("fr/0/0a/1._FC_Union_Berlin_-_Logo.svg")
109 ),
110 "SCP": (
111 "SC Paderborn 07", "SC Paderborn 07", "Paderborn",
112 wikimedia_icon_urls("en/b/b3/SC_Paderborn_07_logo.svg")
113 ),
114 "KOE": (
115 "1. FC Köln", "1. FC Köln", "1. FC Köln",
116 wikimedia_icon_urls("en/5/53/FC_Cologne_logo.svg")
117 ),
118 "DSC": (
119 "Arminia Bielefeld", "Arminia Bielefeld", "Bielefeld",
120 wikimedia_icon_urls("commons/2/26/Arminia-wappen-2021.svg")
121 ),
122 "SGF": (
123 "SpVgg Greuther Fürth", "SpVgg Greuther Fürth", "Greuther Fürth",
124 wikimedia_icon_urls("de/b/b1/SpVgg_Greuther_Fürth_2017.svg")
125 ),
126 "BOC": (
127 "VfL Bochum", "VfL Bochum", "VfL Bochum",
128 wikimedia_icon_urls("commons/7/72/VfL_Bochum_logo.svg")
129 ),
130 "HDH": (
131 "1. FC Heidenheim 1846", "1. FC Heidenheim", "Heidenheim",
132 wikimedia_icon_urls("commons/9/9d/1._FC_Heidenheim_1846.svg")
133 ),
134 "AUE": (
135 "Erzgebirge Aue", "Erzgebirge Aue", "Erzgebirge Aue",
136 wikimedia_icon_urls("en/9/9e/FC_Erzgebirge_Aue_logo.svg")
137 ),
138 "FCH": (
139 "FC Hansa Rostock", "FC Hansa Rostock", "Hansa Rostock",
140 wikimedia_icon_urls("commons/8/8f/F.C._Hansa_Rostock_Logo.svg")
141 ),
142 "FCI": (
143 "FC Ingolstadt 04", "FC Ingolstadt 04", "FC Ingolstadt",
144 wikimedia_icon_urls("en/0/0b/FC_Ingolstadt_04_logo.svg")
145 ),
146 "STP": (
147 "FC St. Pauli", "FC St. Pauli", "St. Pauli",
148 wikimedia_icon_urls("en/8/8f/FC_St._Pauli_logo_%282018%29.svg")
149 ),
150 "HSV": (
151 "Hamburger SV", "Hamburger SV", "Hamburger SV",
152 wikimedia_icon_urls("commons/f/f7/Hamburger_SV_logo.svg")
153 ),
154 "KIE": (
155 "Holstein Kiel", "Holstein Kiel", "Holstein Kiel",
156 wikimedia_icon_urls("commons/3/30/Holstein_Kiel_Logo.svg")
157 ),
158 "SSV": (
159 "Jahn Regensburg", "SSV Jahn Regensburg", "Jahn Regensburg",
160 wikimedia_icon_urls("commons/3/3d/Jahn_Regensburg_logo2014.svg")
161 ),
162 "KSC": (
163 "Karlsruher SC", "Karlsruher SC", "Karlsruher SC",
164 wikimedia_icon_urls("commons/c/c8/Karlsruher_SC_Logo_2.svg")
165 ),
166 "SGD": (
167 "SG Dynamo Dresden", "SG Dynamo Dresden", "Dynamo Dresden",
168 wikimedia_icon_urls("en/0/06/Dynamo_Dresden_logo_2011.svg")
169 ),
170 "D98": (
171 "SV Darmstadt 98", "SV Darmstadt 98", "SV Darmstadt",
172 wikimedia_icon_urls("en/9/92/SV_Darmstadt_98_logo.svg")
173 ),
174 "SVS": (
175 "SV Sandhausen", "SV Sandhausen", "SV Sandhausen",
176 wikimedia_icon_urls("commons/d/d3/SV_Sandhausen.svg")
177 ),
178 "FCK": (
179 "1. FC Kaiserslautern", "1. FC Kaiserslautern", "Kaiserslautern",
180 wikimedia_icon_urls("commons/d/d3/Logo_1_FC_Kaiserslautern.svg")
181 ),
182 "FCM": (
183 "1. FC Magdeburg", "1. FC Magdeburg", "Magdeburg",
184 wikimedia_icon_urls("commons/8/84/1._FC_Magdeburg.svg")
185 ),
186 "FCS": (
187 "1. FC Saarbrücken", "1. FC Saarbrücken", "Saarbrücken",
188 wikimedia_icon_urls("de/f/ff/1._FC_Saarbr%C3%BCcken.svg")
189 ),
190 "BRA": (
191 "Eintracht Braunschweig", "Eintracht Braunschweig", "Braunschweig",
192 wikimedia_icon_urls("de/4/45/Logo_Eintracht_Braunschweig.svg")
193 ),
194 "VBE": (
195 "FC Viktoria 1889 Berlin", "FC Viktoria Berlin", "Viktoria Berlin",
196 wikimedia_icon_urls(
197 "commons/4/40/FC_Viktoria_1889_Berlin_Logo.svg")
198 ),
199 "VKO": (
200 "FC Viktoria Köln", "FC Viktoria Köln", "Viktoria Köln",
201 wikimedia_icon_urls(
202 "commons/d/dc/FC_Viktoria_K%C3%B6ln_1904_Logo.svg")
203 ),
204 "HFC": (
205 "Hallescher FC", "Hallescher FC", "Halle",
206 wikimedia_icon_urls("commons/e/e1/Hallescher_FC.svg")
207 ),
208 "MSV": (
209 "MSV Duisburg", "MSV Duisburg", "Duisburg",
210 wikimedia_icon_urls("commons/0/02/Msv_duisburg_%282017%29.svg")
211 ),
212 "SC2": (
213 "SC Freiburg II", "SC Freiburg II", "Freiburg II",
214 wikimedia_icon_urls("de/8/88/Logo-SC_Freiburg.svg")
215 ),
216 "SCV": (
217 "SC Verl", "SC Verl", "Verl",
218 wikimedia_icon_urls("commons/c/ce/SC_Verl_Logo.svg")
219 ),
220 "SVM": (
221 "SV Meppen", "SV Meppen", "Meppen",
222 wikimedia_icon_urls("commons/4/45/Logo_SV_Meppen_2019.svg")
223 ),
224 "MAN": (
225 "SV Waldhof Mannheim", "SV Waldhof Mannheim", "Mannheim",
226 wikimedia_icon_urls("commons/1/1c/SV_Waldhof_Mannheim_Wappen.svg")
227 ),
228 "WIE": (
229 "SV Wehen Wiesbaden", "SV Wehen Wiesbaden", "Wiesbaden",
230 wikimedia_icon_urls("de/3/3d/Logo_SV_Wehen_Wiesbaden.svg")
231 ),
232 "MÜN": (
233 "TSV 1860 München", "TSV 1860 München", "1860 München",
234 wikimedia_icon_urls("commons/4/48/TSV_1860_M%C3%BCnchen.svg")
235 ),
236 "HAV": (
237 "TSV Havelse", "TSV Havelse", "Havelse",
238 wikimedia_icon_urls("commons/8/89/TSV_Havelse_logo.svg")
239 ),
240 "TÜR": (
241 "Türkgücü München", "Türkgücü München", "Türkgücü",
242 wikimedia_icon_urls("commons/f/fe/T%C3%BCrkg%C3%BCc%C3%BC_"
243 "M%C3%BCnchen_Logo.svg")
244 ),
245 "OSN": (
246 "VfL Osnabrück", "VfL Osnabrück", "Osnabrück",
247 wikimedia_icon_urls(
248 "commons/5/59/Logo_VfL_Osnabrueck_since_2017.svg")
249 ),
250 "WÜR": (
251 "Würzburger Kickers", "Würzburger Kickers", "Würzburg",
252 wikimedia_icon_urls(
253 "commons/0/0c/W%C3%BCrzburger_Kickers_Logo.svg")
254 ),
255 "BV2": (
256 "Borussia Dortmund II", "Borussia Dortmund II", "Dortmund II",
257 wikimedia_icon_urls("commons/6/67/Borussia_Dortmund_logo.svg")
258 ),
259 "ZWI": (
260 "FSV Zwickau", "FSV Zwickau", "Zwickau",
261 wikimedia_icon_urls("de/0/01/FSV_Zwickau_Logo.svg")
262 )
263 }
264 openligadb_map = {
265 info[0]: (
266 info[1],
267 info[2],
268 abbreviation,
269 info[3]
270 )
271 for abbreviation, info in team_map.items()
272 }
273 return openligadb_map[team_name]
276def wikimedia_icon_urls(path: str, png_size: int = 500) -> Tuple[str, str]:
277 """
278 Generates URL paths to wikimedia-hosted SVG and PNG files
279 :param path: The URL path to the SVG file (without the wikimedia part)
280 :param png_size: The size of the PNG file
281 :return: The URL path to the SVG File, PNG file
282 """
283 wikimedia = "https://upload.wikimedia.org/wikipedia"
284 base, specific = path.split("/", 1)
285 svg_filename = path.rsplit("/", 1)[1]
287 svg_url = "{}/{}".format(wikimedia, path)
288 png_url = "{}/{}/thumb/{}/{}px-{}.png".format(
289 wikimedia, base, specific, png_size, svg_filename
290 )
292 return svg_url, png_url