Syntrex commited on
Commit
89de894
·
verified ·
1 Parent(s): 09e6843

Create odds_name_map.py

Browse files
Files changed (1) hide show
  1. data/odds_name_map.py +60 -0
data/odds_name_map.py ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from __future__ import annotations
2
+
3
+ import re
4
+ import unicodedata
5
+
6
+
7
+ NAME_ALIASES = {
8
+ "shohei ohtani": "shohei ohtani",
9
+ "shōhei ohtani": "shohei ohtani",
10
+ "seiya suzuki": "seiya suzuki",
11
+ "masataka yoshida": "masataka yoshida",
12
+ "mookie betts": "mookie betts",
13
+ "fernando tatis jr": "fernando tatis jr",
14
+ "fernando tatis jr.": "fernando tatis jr",
15
+ "vladimir guerrero jr": "vladimir guerrero jr",
16
+ "vladimir guerrero jr.": "vladimir guerrero jr",
17
+ "ronald acuña jr": "ronald acuna jr",
18
+ "ronald acuna jr": "ronald acuna jr",
19
+ "ronald acuña jr.": "ronald acuna jr",
20
+ "ronald acuna jr.": "ronald acuna jr",
21
+ "juan soto": "juan soto",
22
+ "julio rodriguez": "julio rodriguez",
23
+ "julio rodríguez": "julio rodriguez",
24
+ "jose ramirez": "jose ramirez",
25
+ "josé ramírez": "jose ramirez",
26
+ "yordan alvarez": "yordan alvarez",
27
+ "yordan álvarez": "yordan alvarez",
28
+ "luis robert jr": "luis robert jr",
29
+ "luis robert jr.": "luis robert jr",
30
+ "bo bichette": "bo bichette",
31
+ "manny machado": "manny machado",
32
+ "xander bogaerts": "xander bogaerts",
33
+ "rafael devers": "rafael devers",
34
+ "ketel marte": "ketel marte",
35
+ "isaac paredes": "isaac paredes",
36
+ "andy pages": "andy pages",
37
+ }
38
+
39
+
40
+ def _strip_accents(text: str) -> str:
41
+ normalized = unicodedata.normalize("NFKD", text)
42
+ return "".join(ch for ch in normalized if not unicodedata.combining(ch))
43
+
44
+
45
+ def normalize_player_name(name: str) -> str:
46
+ text = str(name or "").strip().lower()
47
+ text = _strip_accents(text)
48
+ text = text.replace("’", "'")
49
+ text = text.replace(".", "")
50
+ text = re.sub(r"\s+", " ", text)
51
+
52
+ # Remove common suffix punctuation inconsistencies
53
+ text = text.replace(" jr ", " jr ")
54
+ text = text.replace(" sr ", " sr ")
55
+
56
+ return NAME_ALIASES.get(text, text)
57
+
58
+
59
+ def map_odds_name_to_model_name(name: str) -> str:
60
+ return normalize_player_name(name)