Compare commits
360 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e894c40ff4 | ||
|
|
a23a749c59 | ||
|
|
2d8f1b60a3 | ||
|
|
8c03e65104 | ||
|
|
764d80e818 | ||
|
|
854c236a60 | ||
|
|
4b1b343a8f | ||
|
|
65f04bff63 | ||
|
|
8055856137 | ||
|
|
17a79976dd | ||
|
|
38062d0bee | ||
|
|
2ce252059e | ||
|
|
c7ee946871 | ||
|
|
3afcbb759c | ||
|
|
bc18202736 | ||
|
|
a0973a2ad8 | ||
|
|
c18ab3f91f | ||
|
|
9718595017 | ||
|
|
5f803f346b | ||
|
|
0320830725 | ||
|
|
9dd744254a | ||
|
|
67b6a6fd68 | ||
|
|
ca62fd714f | ||
|
|
49346f9a6d | ||
|
|
9200c9cab3 | ||
|
|
dbdb730b4d | ||
|
|
91211d5c86 | ||
|
|
d78c592d6a | ||
|
|
4771ec8b3b | ||
|
|
60f68ff2a3 | ||
|
|
c7634cbf3a | ||
|
|
96cd383436 | ||
|
|
e39dd1e0a3 | ||
|
|
7b1339631c | ||
|
|
0579b3b860 | ||
|
|
e7e76eea4c | ||
|
|
3f431a54d4 | ||
|
|
d0f8785936 | ||
|
|
7618eafaa6 | ||
|
|
f8f4539015 | ||
|
|
0ab978d543 | ||
|
|
c4a51d0f80 | ||
|
|
b20c3880b2 | ||
|
|
652461a819 | ||
|
|
691d39675d | ||
|
|
9bc0cd5629 | ||
|
|
625a501da5 | ||
|
|
28c2dcd2f7 | ||
|
|
c55511c099 | ||
|
|
b96f1e3957 | ||
|
|
fcbc67464d | ||
|
|
4b36937a55 | ||
|
|
8ead8ad893 | ||
|
|
515ae2c7e9 | ||
|
|
a5a9398c5c | ||
|
|
b82e904cb1 | ||
|
|
fbff65fbad | ||
|
|
19edd9ace0 | ||
|
|
0982ef78dd | ||
|
|
5695d8e017 | ||
|
|
06ad446925 | ||
|
|
6b5a9cdff7 | ||
|
|
efb66118e4 | ||
|
|
2444aa2fc9 | ||
|
|
93f6173efa | ||
|
|
dc81d48ab1 | ||
|
|
5c32be929e | ||
|
|
105f60f57e | ||
|
|
a52130cedb | ||
|
|
d08e7953f2 | ||
|
|
d7544b04dd | ||
|
|
0291540df4 | ||
|
|
27b9b0267b | ||
|
|
cffef0d161 | ||
|
|
b5cb71b68d | ||
|
|
7685586508 | ||
|
|
b8aaa56b4b | ||
|
|
4aa307c8dd | ||
|
|
12b99024a4 | ||
|
|
22f0e29315 | ||
|
|
6eeba92350 | ||
|
|
286ba2b044 | ||
|
|
4b5a1e41d8 | ||
|
|
008705b75c | ||
|
|
5937f968ef | ||
|
|
4fe5547bf8 | ||
|
|
96f6749516 | ||
|
|
bc3883df14 | ||
|
|
32b1b8020a | ||
|
|
9280295ed3 | ||
|
|
e5a29d4668 | ||
|
|
4cfaa5ca59 | ||
|
|
6f894a587b | ||
|
|
35eb9cbdb5 | ||
|
|
2d41c5ca31 | ||
|
|
14f7a8b502 | ||
|
|
5101795cbf | ||
|
|
6d0632acee | ||
|
|
9298eff554 | ||
|
|
335ab8cce0 | ||
|
|
32daced427 | ||
|
|
153edcc2e1 | ||
|
|
548bc00e00 | ||
|
|
f8ab022da9 | ||
|
|
cd80745dcb | ||
|
|
56dfbda40a | ||
|
|
591555c3c7 | ||
|
|
bbabad3135 | ||
|
|
3329822a46 | ||
|
|
413a1fa38c | ||
|
|
3ee7821353 | ||
|
|
20a816f3e6 | ||
|
|
457f9f9eb5 | ||
|
|
39519dbfff | ||
|
|
61a56560f3 | ||
|
|
c1ccd6f44a | ||
|
|
2123f78dad | ||
|
|
a1914980c8 | ||
|
|
a3dbc6a4a8 | ||
|
|
8a0fdb005d | ||
|
|
f13ad238eb | ||
|
|
92071237c1 | ||
|
|
52c2d61dcf | ||
|
|
73036c33cb | ||
|
|
d6eb7a778c | ||
|
|
62b50cc06f | ||
|
|
05bee6ce84 | ||
|
|
2c2d24c0a8 | ||
|
|
b252229e03 | ||
|
|
8f7aeee546 | ||
|
|
b7fa2f1df6 | ||
|
|
ba3b79dd72 | ||
|
|
e4e058ff97 | ||
|
|
0b42cec902 | ||
|
|
35ad842ba1 | ||
|
|
08cf4152f7 | ||
|
|
71a392737e | ||
|
|
2b93eafcdf | ||
|
|
3c1706d4e8 | ||
|
|
e4b3adb867 | ||
|
|
9f00124fad | ||
|
|
68416d0293 | ||
|
|
e63198dc49 | ||
|
|
a5ce721733 | ||
|
|
e3b65588a2 | ||
|
|
f13e9306c9 | ||
|
|
ef82610a06 | ||
|
|
18145edbf1 | ||
|
|
54635fee3c | ||
|
|
6152969340 | ||
|
|
8770e5a327 | ||
|
|
822d9909ed | ||
|
|
d179700c6c | ||
|
|
dfecc6f8a0 | ||
|
|
0d8d4084a9 | ||
|
|
6bc1039ed6 | ||
|
|
8e1b04550b | ||
|
|
33e1f05f77 | ||
|
|
c4113367f7 | ||
|
|
4b906b3a92 | ||
|
|
06d8360922 | ||
|
|
9d4082665a | ||
|
|
a3481f3674 | ||
|
|
e36d92340e | ||
|
|
6225189b3c | ||
|
|
6c658c23c4 | ||
|
|
30cf8ee2e8 | ||
|
|
2526c6097e | ||
|
|
1e0889fe84 | ||
|
|
ba0716d37e | ||
|
|
b8d9eb65f6 | ||
|
|
03f0a6e6e2 | ||
|
|
5971e4afa1 | ||
|
|
dc840b63d8 | ||
|
|
865b30c631 | ||
|
|
da17f214da | ||
|
|
643397c939 | ||
|
|
1704001ef6 | ||
|
|
18d6758dbe | ||
|
|
19f5b7e3bc | ||
|
|
28c81825cc | ||
|
|
151777fbd6 | ||
|
|
8a8e3c21cb | ||
|
|
809cb07bb8 | ||
|
|
edce5fae85 | ||
|
|
10c1342bdb | ||
|
|
ede82406fa | ||
|
|
6ff8d8b5af | ||
|
|
bd7d136504 | ||
|
|
f8ebcffa08 | ||
|
|
eed64334e3 | ||
|
|
2bee99f9cc | ||
|
|
35dcf76689 | ||
|
|
1f7285cfc4 | ||
|
|
4f1736fb0f | ||
|
|
0229567156 | ||
|
|
87daddbeb2 | ||
|
|
c284b9c26c | ||
|
|
95e3e4dda4 | ||
|
|
d95e6539e3 | ||
|
|
a49feb2971 | ||
|
|
8b7ae3beed | ||
|
|
0a0fbbbdbb | ||
|
|
ca44097669 | ||
|
|
c0c77f6762 | ||
|
|
b7ba899df7 | ||
|
|
9b4bf36dbb | ||
|
|
85d63243c7 | ||
|
|
79cbc46f9b | ||
|
|
bd9fe652d9 | ||
|
|
dac7b34228 | ||
|
|
8703c485bc | ||
|
|
29f36827ca | ||
|
|
6fdb2b55b5 | ||
|
|
6a2e5edf2e | ||
|
|
938c31c815 | ||
|
|
d0ead60421 | ||
|
|
e0883eeae2 | ||
|
|
b0941641c7 | ||
|
|
8654dd44e6 | ||
|
|
afb7e23fcc | ||
|
|
1ffe3e7c16 | ||
|
|
7c0934cd9b | ||
|
|
e5eef1320d | ||
|
|
5ec9b3ea6f | ||
|
|
708e993f41 | ||
|
|
fd68777484 | ||
|
|
d616dddac0 | ||
|
|
7b31c4cca5 | ||
|
|
be94e9fb6b | ||
|
|
1b9981d74e | ||
|
|
f1ad263849 | ||
|
|
d802adb048 | ||
|
|
71bb616b76 | ||
|
|
3ba0ec2041 | ||
|
|
40576ac18d | ||
|
|
e6fa83904b | ||
|
|
a52696aae2 | ||
|
|
e9ca9a0454 | ||
|
|
7d38bbb0fa | ||
|
|
512ffb7639 | ||
|
|
cc652472a0 | ||
|
|
4cc3b39ce6 | ||
|
|
fabb9bd611 | ||
|
|
436bdbd8f2 | ||
|
|
d6ca83f090 | ||
|
|
96de2e7d0f | ||
|
|
ec922fac2c | ||
|
|
b4d5aef876 | ||
|
|
a672abba6a | ||
|
|
b193e03be9 | ||
|
|
4088807c72 | ||
|
|
f02ed06e09 | ||
|
|
ac69569d77 | ||
|
|
13a2ef6e5e | ||
|
|
c490c5dca8 | ||
|
|
24204c581e | ||
|
|
881a46867d | ||
|
|
3c665c21d1 | ||
|
|
f95138d1a4 | ||
|
|
04009f78f7 | ||
|
|
45f449d371 | ||
|
|
d8e2de927a | ||
|
|
f67348b9b8 | ||
|
|
c92eaa93bd | ||
|
|
8411e4ff76 | ||
|
|
b451d5def8 | ||
|
|
a6f8237069 | ||
|
|
ceb6d5fdac | ||
|
|
41ed6b8a43 | ||
|
|
06a51b5799 | ||
|
|
5001e59ee3 | ||
|
|
85747edff1 | ||
|
|
fb4b950148 | ||
|
|
a2988557de | ||
|
|
f554e35686 | ||
|
|
dbcfbcd0f2 | ||
|
|
27b52466ad | ||
|
|
20082cbadf | ||
|
|
4a7138205c | ||
|
|
6ae4451c51 | ||
|
|
7f17d8cd8f | ||
|
|
0f6e3c9497 | ||
|
|
88078111b4 | ||
|
|
0601a9fda7 | ||
|
|
05d9f7c057 | ||
|
|
34903dd979 | ||
|
|
3ba317c4e4 | ||
|
|
6bbb4f5de8 | ||
|
|
4ab4d14a4e | ||
|
|
d9e5b9404d | ||
|
|
e5d4f3c9f0 | ||
|
|
46ba9b4c4a | ||
|
|
9b6231915a | ||
|
|
6d8e7abff7 | ||
|
|
932b263c5a | ||
|
|
aef8b3b6cc | ||
|
|
be50fb86d7 | ||
|
|
73d2248ccb | ||
|
|
48937855d4 | ||
|
|
802e596f06 | ||
|
|
b6751a94c2 | ||
|
|
8b0c71dbdf | ||
|
|
2f7fa481a3 | ||
|
|
ffc006bd99 | ||
|
|
ea74d388b0 | ||
|
|
d4bd8d66e8 | ||
|
|
3a81e16490 | ||
|
|
4ea2b9cc36 | ||
|
|
407ebc56d7 | ||
|
|
f9e3419f39 | ||
|
|
b03371d69a | ||
|
|
58251eefb7 | ||
|
|
74036ed6d9 | ||
|
|
bfa1234feb | ||
|
|
6535ce113a | ||
|
|
dd8d219e73 | ||
|
|
1576e730ea | ||
|
|
7fc158c914 | ||
|
|
f9588f47d0 | ||
|
|
2eaa158e80 | ||
|
|
3f05d9fcbc | ||
|
|
3d2b155b79 | ||
|
|
3df3b93348 | ||
|
|
790b483298 | ||
|
|
d80c1a93db | ||
|
|
e8d2408477 | ||
|
|
fcc8c10c2b | ||
|
|
3063840b6d | ||
|
|
a3c5f9a74f | ||
|
|
e85bebee12 | ||
|
|
30d416b822 | ||
|
|
e1a32b1466 | ||
|
|
d02d7445cd | ||
|
|
0785bcba93 | ||
|
|
9d01996ae6 | ||
|
|
8c705753df | ||
|
|
c7fc86e54d | ||
|
|
9eb65ec891 | ||
|
|
92891af6b6 | ||
|
|
c0d299892e | ||
|
|
9a63550a9b | ||
|
|
25506410d0 | ||
|
|
102c0eb795 | ||
|
|
4605cb5c39 | ||
|
|
f8bf76c150 | ||
|
|
977bd96241 | ||
|
|
5224c09faf | ||
|
|
f342bd9d3a | ||
|
|
5516a5f764 | ||
|
|
15fcd0a722 | ||
|
|
a867f767d9 | ||
|
|
e84640501d | ||
|
|
e627594989 | ||
|
|
7963ac77b9 | ||
|
|
fe6272bf3a | ||
|
|
7fc902dea1 | ||
|
|
e61ce4e4be | ||
|
|
18b0a9703e | ||
|
|
4994d8ac21 |
38
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a report to help us improve
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
|
**To Reproduce**
|
||||||
|
Steps to reproduce the behavior:
|
||||||
|
1. Go to '...'
|
||||||
|
2. Click on '....'
|
||||||
|
3. Scroll down to '....'
|
||||||
|
4. See error
|
||||||
|
|
||||||
|
**Expected behavior**
|
||||||
|
A clear and concise description of what you expected to happen.
|
||||||
|
|
||||||
|
**Screenshots**
|
||||||
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
|
**Desktop (please complete the following information):**
|
||||||
|
- OS: [e.g. iOS]
|
||||||
|
- Browser [e.g. chrome, safari]
|
||||||
|
- Version [e.g. 22]
|
||||||
|
|
||||||
|
**Smartphone (please complete the following information):**
|
||||||
|
- Device: [e.g. iPhone6]
|
||||||
|
- OS: [e.g. iOS8.1]
|
||||||
|
- Browser [e.g. stock browser, safari]
|
||||||
|
- Version [e.g. 22]
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context about the problem here.
|
||||||
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
name: Feature request
|
||||||
|
about: Suggest an idea for this project
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Is your feature request related to a problem? Please describe.**
|
||||||
|
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||||
|
|
||||||
|
**Describe the solution you'd like**
|
||||||
|
A clear and concise description of what you want to happen.
|
||||||
|
|
||||||
|
**Describe alternatives you've considered**
|
||||||
|
A clear and concise description of any alternative solutions or features you've considered.
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context or screenshots about the feature request here.
|
||||||
2
.gitignore
vendored
@@ -5,6 +5,8 @@ __pycache__/
|
|||||||
|
|
||||||
# Secrets
|
# Secrets
|
||||||
config/config_secrets.json
|
config/config_secrets.json
|
||||||
|
config/config.json
|
||||||
|
config/config.json.backup
|
||||||
credentials.json
|
credentials.json
|
||||||
token.pickle
|
token.pickle
|
||||||
|
|
||||||
|
|||||||
@@ -1,173 +0,0 @@
|
|||||||
# LEDMatrix Cache Strategy Analysis
|
|
||||||
|
|
||||||
## Current Implementation
|
|
||||||
|
|
||||||
Your LEDMatrix system uses a sophisticated multi-tier caching strategy that balances data freshness with API efficiency.
|
|
||||||
|
|
||||||
### Cache Duration Categories
|
|
||||||
|
|
||||||
#### 1. **Ultra Time-Sensitive Data (15-60 seconds)**
|
|
||||||
- **Live Sports Scores**: Now respects sport-specific `live_update_interval` configuration
|
|
||||||
- Soccer live data: Uses `soccer_scoreboard.live_update_interval` (default: 60 seconds)
|
|
||||||
- NFL live data: Uses `nfl_scoreboard.live_update_interval` (default: 60 seconds)
|
|
||||||
- NHL live data: Uses `nhl_scoreboard.live_update_interval` (default: 60 seconds)
|
|
||||||
- NBA live data: Uses `nba_scoreboard.live_update_interval` (default: 60 seconds)
|
|
||||||
- MLB live data: Uses `mlb.live_update_interval` (default: 60 seconds)
|
|
||||||
- NCAA sports: Use respective `live_update_interval` configurations (default: 60 seconds)
|
|
||||||
- **Current Weather**: 5 minutes (300 seconds)
|
|
||||||
|
|
||||||
#### 2. **Market Data (5-10 minutes)**
|
|
||||||
- **Stocks**: 10 minutes (600 seconds) - market hours aware
|
|
||||||
- **Crypto**: 5 minutes (300 seconds) - 24/7 trading
|
|
||||||
- **Stock News**: 1 hour (3600 seconds)
|
|
||||||
|
|
||||||
#### 3. **Sports Data (5 minutes to 24 hours)**
|
|
||||||
- **Recent Games**: 5 minutes (300 seconds)
|
|
||||||
- **Upcoming Games**: 1 hour (3600 seconds)
|
|
||||||
- **Season Schedules**: 24 hours (86400 seconds)
|
|
||||||
- **Team Information**: 1 week (604800 seconds)
|
|
||||||
|
|
||||||
#### 4. **Static Data (1 week to 30 days)**
|
|
||||||
- **Team Logos**: 30 days (2592000 seconds)
|
|
||||||
- **Configuration Data**: 1 week (604800 seconds)
|
|
||||||
|
|
||||||
### Smart Cache Invalidation
|
|
||||||
|
|
||||||
Beyond time limits, the system uses content-based invalidation:
|
|
||||||
|
|
||||||
```python
|
|
||||||
def has_data_changed(self, data_type: str, new_data: Dict[str, Any]) -> bool:
|
|
||||||
"""Check if data has changed from cached version."""
|
|
||||||
```
|
|
||||||
|
|
||||||
- **Weather**: Compares temperature and conditions
|
|
||||||
- **Stocks**: Compares prices (only during market hours)
|
|
||||||
- **Sports**: Compares scores, game status, inning details
|
|
||||||
- **News**: Compares headlines and article IDs
|
|
||||||
|
|
||||||
### Market-Aware Caching
|
|
||||||
|
|
||||||
For stocks, the system extends cache duration during off-hours:
|
|
||||||
|
|
||||||
```python
|
|
||||||
def _is_market_open(self) -> bool:
|
|
||||||
"""Check if the US stock market is currently open."""
|
|
||||||
# Only invalidates cache during market hours
|
|
||||||
```
|
|
||||||
|
|
||||||
## Enhanced Cache Strategy
|
|
||||||
|
|
||||||
### Sport-Specific Live Update Intervals
|
|
||||||
|
|
||||||
The cache manager now automatically respects the `live_update_interval` configuration for each sport:
|
|
||||||
|
|
||||||
```python
|
|
||||||
def get_sport_live_interval(self, sport_key: str) -> int:
|
|
||||||
"""Get the live_update_interval for a specific sport from config."""
|
|
||||||
config = self.config_manager.get_config()
|
|
||||||
sport_config = config.get(f"{sport_key}_scoreboard", {})
|
|
||||||
return sport_config.get("live_update_interval", 30)
|
|
||||||
```
|
|
||||||
|
|
||||||
### Automatic Sport Detection
|
|
||||||
|
|
||||||
The cache manager automatically detects the sport from cache keys:
|
|
||||||
|
|
||||||
```python
|
|
||||||
def get_sport_key_from_cache_key(self, key: str) -> Optional[str]:
|
|
||||||
"""Extract sport key from cache key to determine appropriate live_update_interval."""
|
|
||||||
# Maps cache key patterns to sport keys
|
|
||||||
sport_patterns = {
|
|
||||||
'nfl': ['nfl', 'football'],
|
|
||||||
'nba': ['nba', 'basketball'],
|
|
||||||
'mlb': ['mlb', 'baseball'],
|
|
||||||
'nhl': ['nhl', 'hockey'],
|
|
||||||
'soccer': ['soccer', 'football'],
|
|
||||||
# ... etc
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Configuration Examples
|
|
||||||
|
|
||||||
**Current Configuration (config/config.json):**
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"nfl_scoreboard": {
|
|
||||||
"live_update_interval": 30,
|
|
||||||
"enabled": true
|
|
||||||
},
|
|
||||||
"soccer_scoreboard": {
|
|
||||||
"live_update_interval": 30,
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"mlb": {
|
|
||||||
"live_update_interval": 30,
|
|
||||||
"enabled": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
**Cache Behavior:**
|
|
||||||
- NFL live data: 30-second cache (from config)
|
|
||||||
- Soccer live data: 30-second cache (from config)
|
|
||||||
- MLB live data: 30-second cache (from config)
|
|
||||||
|
|
||||||
### Fallback Strategy
|
|
||||||
|
|
||||||
If configuration is unavailable, the system uses sport-specific defaults:
|
|
||||||
|
|
||||||
```python
|
|
||||||
default_intervals = {
|
|
||||||
'soccer': 60, # Soccer default
|
|
||||||
'nfl': 60, # NFL default
|
|
||||||
'nhl': 60, # NHL default
|
|
||||||
'nba': 60, # NBA default
|
|
||||||
'mlb': 60, # MLB default
|
|
||||||
'milb': 60, # Minor league default
|
|
||||||
'ncaa_fb': 60, # College football default
|
|
||||||
'ncaa_baseball': 60, # College baseball default
|
|
||||||
'ncaam_basketball': 60, # College basketball default
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage Examples
|
|
||||||
|
|
||||||
### Automatic Sport Detection
|
|
||||||
```python
|
|
||||||
# Cache manager automatically detects NFL and uses nfl_scoreboard.live_update_interval
|
|
||||||
cached_data = cache_manager.get_with_auto_strategy("nfl_live_20241201")
|
|
||||||
|
|
||||||
# Cache manager automatically detects soccer and uses soccer_scoreboard.live_update_interval
|
|
||||||
cached_data = cache_manager.get_with_auto_strategy("soccer_live_20241201")
|
|
||||||
```
|
|
||||||
|
|
||||||
### Manual Sport Specification
|
|
||||||
```python
|
|
||||||
# Explicitly specify sport for custom cache keys
|
|
||||||
cached_data = cache_manager.get_cached_data_with_strategy("custom_live_key", "sports_live")
|
|
||||||
```
|
|
||||||
|
|
||||||
## Benefits
|
|
||||||
|
|
||||||
1. **Configuration-Driven**: Cache respects your sport-specific settings
|
|
||||||
2. **Automatic Detection**: No manual cache duration management needed
|
|
||||||
3. **Sport-Optimized**: Each sport uses its appropriate update interval
|
|
||||||
4. **Backward Compatible**: Existing code continues to work
|
|
||||||
5. **Flexible**: Easy to adjust intervals per sport in config
|
|
||||||
|
|
||||||
## Migration
|
|
||||||
|
|
||||||
The enhanced cache manager is backward compatible. Existing code will automatically benefit from sport-specific intervals without any changes needed.
|
|
||||||
|
|
||||||
To customize intervals for specific sports, simply update the `live_update_interval` in your `config/config.json`:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"nfl_scoreboard": {
|
|
||||||
"live_update_interval": 15 // More aggressive for NFL
|
|
||||||
},
|
|
||||||
"mlb": {
|
|
||||||
"live_update_interval": 45 // Slower pace for MLB
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
1
LEDMatrix.wiki
Submodule
216
README.md
@@ -1,5 +1,5 @@
|
|||||||
# LEDMatrix
|
# LEDMatrix
|
||||||
An LED matrix display system that provides real-time information display capabilities for various data sources. The system is highly configurable and supports multiple display modes that can be enabled or disabled based on user preferences.
|
|
||||||
|
|
||||||
### Setup video and feature walkthrough on Youtube :
|
### Setup video and feature walkthrough on Youtube :
|
||||||
[](https://www.youtube.com/watch?v=_HaqfJy1Y54)
|
[](https://www.youtube.com/watch?v=_HaqfJy1Y54)
|
||||||
@@ -59,7 +59,7 @@ The system supports live, recent, and upcoming game information for multiple spo
|
|||||||
- NCAA Football
|
- NCAA Football
|
||||||
- NCAA Men's Basketball
|
- NCAA Men's Basketball
|
||||||
- NCAA Men's Baseball
|
- NCAA Men's Baseball
|
||||||
- Soccer
|
- Soccer (Premier League, La Liga, Bundesliga, Serie A, Ligue 1, Liga Portugal, Champions League, Europa League, MLS)
|
||||||
- (Note, some of these sports seasons were not active during development and might need fine tuning when games are active)
|
- (Note, some of these sports seasons were not active during development and might need fine tuning when games are active)
|
||||||
|
|
||||||
|
|
||||||
@@ -171,6 +171,17 @@ git clone https://github.com/ChuckBuilds/LEDMatrix.git
|
|||||||
cd LEDMatrix
|
cd LEDMatrix
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
4. First-time installation (recommended)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
chmod +x first_time_install.sh
|
||||||
|
sudo ./first_time_install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
This single script installs services, dependencies, configures permissions and sudoers, and validates the setup.
|
||||||
|
|
||||||
|
----- OLD STEPS (left for manual review) -----
|
||||||
4. Install dependencies:
|
4. Install dependencies:
|
||||||
```bash
|
```bash
|
||||||
sudo pip3 install --break-system-packages -r requirements.txt
|
sudo pip3 install --break-system-packages -r requirements.txt
|
||||||
@@ -245,21 +256,42 @@ sudo nano /boot/firmware/config.txt
|
|||||||
```bash
|
```bash
|
||||||
sudo reboot
|
sudo reboot
|
||||||
```
|
```
|
||||||
|
|
||||||
-----------------------------------------------------------------------------------
|
-----------------------------------------------------------------------------------
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
1.Edit `config/config.json` with your preferences via `sudo nano config/config.json`
|
### Initial Setup
|
||||||
|
|
||||||
###API Keys
|
The system uses a template-based configuration approach to avoid Git conflicts during updates:
|
||||||
|
|
||||||
|
1. **First-time setup**: Copy the template to create your config:
|
||||||
|
```bash
|
||||||
|
cp config/config.template.json config/config.json
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Edit your configuration**:
|
||||||
|
```bash
|
||||||
|
sudo nano config/config.json
|
||||||
|
```
|
||||||
|
or edit via web interface at http://ledpi:5001
|
||||||
|
|
||||||
|
|
||||||
|
### API Keys and Secrets
|
||||||
|
|
||||||
For sensitive settings like API keys:
|
For sensitive settings like API keys:
|
||||||
Copy the template: `cp config/config_secrets.template.json config/config_secrets.json`
|
1. Copy the secrets template: `cp config/config_secrets.template.json config/config_secrets.json`
|
||||||
Edit `config/config_secrets.json` with your API keys via `sudo nano config/config_secrets.json`
|
2. Edit `config/config_secrets.json` with your API keys via `sudo nano config/config_secrets.json`
|
||||||
Ctrl + X to exit, Y to overwrite, Enter to Confirm
|
3. Ctrl + X to exit, Y to overwrite, Enter to Confirm
|
||||||
|
|
||||||
Everything is configured via `config/config.json` and `config/config_secrets.json`.
|
### Automatic Configuration Migration
|
||||||
|
|
||||||
|
The system automatically handles configuration updates:
|
||||||
|
- **New installations**: Creates `config.json` from the template automatically
|
||||||
|
- **Existing installations**: Automatically adds new configuration options with default values when the system starts
|
||||||
|
- **Backup protection**: Creates a backup of your current config before applying updates
|
||||||
|
- **No conflicts**: Your custom settings are preserved while new options are added
|
||||||
|
|
||||||
|
Everything is configured via `config/config.json` and `config/config_secrets.json`. The `config.json` file is not tracked by Git to prevent conflicts during updates.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -807,7 +839,7 @@ This will start the display cycle but only stays active as long as your ssh sess
|
|||||||
|
|
||||||
The LEDMatrix can be installed as a systemd service to run automatically at boot and be managed easily. The service runs as root to ensure proper hardware timing access for the LED matrix.
|
The LEDMatrix can be installed as a systemd service to run automatically at boot and be managed easily. The service runs as root to ensure proper hardware timing access for the LED matrix.
|
||||||
|
|
||||||
### Installing the Service
|
### Installing the Service (this is included in the first_time_install.sh)
|
||||||
|
|
||||||
1. Make the install script executable:
|
1. Make the install script executable:
|
||||||
```bash
|
```bash
|
||||||
@@ -867,6 +899,102 @@ sudo ./start_display.sh
|
|||||||
sudo ./stop_display.sh
|
sudo ./stop_display.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
-----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
## Web Interface Installation (V2)
|
||||||
|
|
||||||
|
The LEDMatrix system includes Web Interface V2 that runs on port 5001 and provides real-time display preview, configuration management, and on-demand display controls.
|
||||||
|
|
||||||
|
### Installing the Web Interface Service
|
||||||
|
|
||||||
|
1. Make the install script executable:
|
||||||
|
```bash
|
||||||
|
chmod +x install_web_service.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Run the install script with sudo:
|
||||||
|
```bash
|
||||||
|
sudo ./install_web_service.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
The script will:
|
||||||
|
- Copy the web service file to `/etc/systemd/system/`
|
||||||
|
- Enable the service to start on boot
|
||||||
|
- Start the service immediately
|
||||||
|
- Show the service status
|
||||||
|
|
||||||
|
### Web Interface Configuration
|
||||||
|
|
||||||
|
The web interface can be configured to start automatically with the main display service:
|
||||||
|
|
||||||
|
1. In `config/config.json`, ensure the web interface autostart is enabled:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"web_display_autostart": true
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
2. The web interface will now start automatically when:
|
||||||
|
- The system boots
|
||||||
|
- The `web_display_autostart` setting is `true` in your config
|
||||||
|
|
||||||
|
### Accessing the Web Interface
|
||||||
|
|
||||||
|
Once installed, you can access the web interface at:
|
||||||
|
```
|
||||||
|
http://your-pi-ip:5001
|
||||||
|
```
|
||||||
|
|
||||||
|
### Managing the Web Interface Service
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Check service status
|
||||||
|
sudo systemctl status ledmatrix-web.service
|
||||||
|
|
||||||
|
# View logs
|
||||||
|
journalctl -u ledmatrix-web.service -f
|
||||||
|
|
||||||
|
# Stop the service
|
||||||
|
sudo systemctl stop ledmatrix-web.service
|
||||||
|
|
||||||
|
# Start the service
|
||||||
|
sudo systemctl start ledmatrix-web.service
|
||||||
|
|
||||||
|
# Disable autostart
|
||||||
|
sudo systemctl disable ledmatrix-web.service
|
||||||
|
|
||||||
|
# Enable autostart
|
||||||
|
sudo systemctl enable ledmatrix-web.service
|
||||||
|
```
|
||||||
|
|
||||||
|
### Web Interface Features
|
||||||
|
|
||||||
|
- **Real-time Display Preview**: See what's currently displayed on the LED matrix
|
||||||
|
- **Configuration Management**: Edit settings through a web interface
|
||||||
|
- **On-Demand Controls**: Start specific displays (weather, stocks, sports) on demand
|
||||||
|
- **Service Management**: Start/stop the main display service
|
||||||
|
- **System Controls**: Restart, update code, and manage the system
|
||||||
|
- **API Metrics**: Monitor API usage and system performance
|
||||||
|
- **Logs**: View system logs in real-time
|
||||||
|
|
||||||
|
### Troubleshooting Web Interface
|
||||||
|
|
||||||
|
**Web Interface Not Accessible After Restart:**
|
||||||
|
1. Check if the web service is running: `sudo systemctl status ledmatrix-web.service`
|
||||||
|
2. Verify the service is enabled: `sudo systemctl is-enabled ledmatrix-web.service`
|
||||||
|
3. Check logs for errors: `journalctl -u ledmatrix-web.service -f`
|
||||||
|
4. Ensure `web_display_autostart` is set to `true` in `config/config.json`
|
||||||
|
|
||||||
|
**Port 5001 Not Accessible:**
|
||||||
|
1. Check if the service is running on the correct port
|
||||||
|
2. Verify firewall settings allow access to port 5001
|
||||||
|
3. Check if another service is using port 5001
|
||||||
|
|
||||||
|
**Service Fails to Start:**
|
||||||
|
1. Check Python dependencies are installed
|
||||||
|
2. Verify the virtual environment is set up correctly
|
||||||
|
3. Check file permissions and ownership
|
||||||
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------------------
|
-----------------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -1033,6 +1161,31 @@ The LEDMatrix system includes a comprehensive scoreboard display system with thr
|
|||||||
- Automatic game switching
|
- Automatic game switching
|
||||||
- Built-in caching to reduce API calls
|
- Built-in caching to reduce API calls
|
||||||
- Test mode for development
|
- Test mode for development
|
||||||
|
## API Usage Tracking
|
||||||
|
|
||||||
|
The LEDMatrix system includes a built-in API usage counter that tracks API calls made by various managers in a 24-hour rolling window. This feature helps monitor API usage and ensure compliance with rate limits.
|
||||||
|
|
||||||
|
### API Counter Features
|
||||||
|
- **Real-time Tracking**: Counts API calls for weather, stocks, sports, and news data
|
||||||
|
- **24-hour Window**: Rolling window that resets every 24 hours
|
||||||
|
- **Web Interface Integration**: View current usage in the Overview tab of the web interface
|
||||||
|
- **Forecast Display**: Shows predicted API usage based on current configuration
|
||||||
|
- **Automatic Reset**: Counters automatically reset when the 24-hour window expires
|
||||||
|
|
||||||
|
### Tracked API Calls
|
||||||
|
- **Weather**: OpenWeatherMap API calls (geocoding + weather data)
|
||||||
|
- **Stocks**: Yahoo Finance API calls for stock and crypto data
|
||||||
|
- **Sports**: ESPN API calls for various sports leagues (NHL, NBA, MLB, NFL, etc.)
|
||||||
|
- **News**: RSS feed and news API calls
|
||||||
|
|
||||||
|
### Accessing API Metrics
|
||||||
|
1. Open the web interface in your browser
|
||||||
|
2. Navigate to the **Overview** tab
|
||||||
|
3. Scroll down to the "API Calls (24h window)" section
|
||||||
|
4. Click "Refresh API Metrics" to update the display
|
||||||
|
|
||||||
|
The counter shows both actual usage and forecasted usage based on your current configuration settings.
|
||||||
|
|
||||||
## Caching System
|
## Caching System
|
||||||
|
|
||||||
The LEDMatrix system includes a robust caching mechanism to optimize API calls and reduce network traffic:
|
The LEDMatrix system includes a robust caching mechanism to optimize API calls and reduce network traffic:
|
||||||
@@ -1074,16 +1227,24 @@ The LEDMatrix system includes a robust caching mechanism to optimize API calls a
|
|||||||
|
|
||||||
##What's Next?
|
##What's Next?
|
||||||
- Adding MQTT/HomeAssistant integration
|
- Adding MQTT/HomeAssistant integration
|
||||||
- Gambling odds?
|
- Gambling odds (done!)
|
||||||
- Building a user-friendly UI for easier configuration
|
- Building a user-friendly UI for easier configuration (done!)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### If you've read this far — thanks!
|
|
||||||
|
|
||||||
## Granting Passwordless Sudo Access for Web Interface Actions
|
## Granting Passwordless Sudo Access for Web Interface Actions
|
||||||
|
|
||||||
The web interface needs to run certain commands with `sudo` (e.g., `reboot`, `systemctl start/stop/enable/disable ledmatrix.service`, `python display_controller.py`). To avoid needing to enter a password for these actions through the web UI, you can configure the `sudoers` file to allow the user running the Flask application to execute these specific commands without a password.
|
The web interface needs to run certain commands with `sudo` (e.g., `reboot`, `systemctl start/stop/enable/disable ledmatrix.service`, `python display_controller.py`). To avoid needing to enter a password for these actions through the web UI, you can configure the `sudoers` file to allow the user running the Flask application to execute these specific commands without a password.
|
||||||
|
|
||||||
|
1. Shortcut to automate the below steps:
|
||||||
|
```chmod +x configure_web_sudo.sh```
|
||||||
|
then
|
||||||
|
```./configure_web_sudo.sh```
|
||||||
|
|
||||||
|
|
||||||
|
Manual Method:
|
||||||
|
|
||||||
**WARNING: Be very careful when editing the `sudoers` file. Incorrect syntax can lock you out of `sudo` access.**
|
**WARNING: Be very careful when editing the `sudoers` file. Incorrect syntax can lock you out of `sudo` access.**
|
||||||
|
|
||||||
1. **Identify the user:** Determine which user is running the `web_interface.py` script. Often, this might be the default user like `pi` on a Raspberry Pi, or a dedicated user you've set up.
|
1. **Identify the user:** Determine which user is running the `web_interface.py` script. Often, this might be the default user like `pi` on a Raspberry Pi, or a dedicated user you've set up.
|
||||||
@@ -1131,3 +1292,32 @@ The web interface needs to run certain commands with `sudo` (e.g., `reboot`, `sy
|
|||||||
**Security Considerations:**
|
**Security Considerations:**
|
||||||
Granting passwordless `sudo` access, even for specific commands, has security implications. Ensure that the scripts and commands allowed are secure and cannot be easily exploited. The web interface itself should also be secured if it's exposed to untrusted networks.
|
Granting passwordless `sudo` access, even for specific commands, has security implications. Ensure that the scripts and commands allowed are secure and cannot be easily exploited. The web interface itself should also be secured if it's exposed to untrusted networks.
|
||||||
For `display_controller.py` and `stop_display.sh`, ensure their file permissions restrict write access to only trusted users, preventing unauthorized modification of these scripts which run with elevated privileges.
|
For `display_controller.py` and `stop_display.sh`, ensure their file permissions restrict write access to only trusted users, preventing unauthorized modification of these scripts which run with elevated privileges.
|
||||||
|
|
||||||
|
|
||||||
|
## Web Interface V2 (simplified quick start)
|
||||||
|
|
||||||
|
### 1) Run the helper (does the above and starts the server):
|
||||||
|
```
|
||||||
|
python3 start_web_v2.py
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2) Start the web UI v2
|
||||||
|
```
|
||||||
|
python web_interface_v2.py
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3) Autostart (recommended)
|
||||||
|
Set `"web_display_autostart": true` in `config/config.json`.
|
||||||
|
Ensure your systemd service calls `start_web_conditionally.py` (installed by `install_service.sh`).
|
||||||
|
|
||||||
|
### 4) Permissions (optional but recommended)
|
||||||
|
- Add the service user to `systemd-journal` for viewing logs without sudo.
|
||||||
|
- Configure passwordless sudo for actions (start/stop service, reboot, shutdown) if desired.
|
||||||
|
- Required for web Ui actions, look in the section above for the commands to run (chmod +x configure_web_sudo.sh & ./configure_web_sudo.sh)
|
||||||
|
|
||||||
|
### 5) Old web UI (v1)
|
||||||
|
The project now defaults to Web UI v2. The v1 interface can be ignored.
|
||||||
|
An LED matrix display system that provides real-time information display capabilities for various data sources. The system is highly configurable and supports multiple display modes that can be enabled or disabled based on user preferences.
|
||||||
|
|
||||||
|
|
||||||
|
### If you've read this far — thanks!
|
||||||
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 11 KiB |
BIN
assets/broadcast_logos/paramount-plus.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
assets/broadcast_logos/prime.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 4.3 KiB |
@@ -1,404 +1,53 @@
|
|||||||
NCAAF
|
NCAAF
|
||||||
AAMU => Alabama A&M Bulldogs
|
AMH => Amherst Mammoths
|
||||||
ACU => Abilene Christian Wildcats
|
|
||||||
ADA => Adams State Grizzlies
|
|
||||||
ADR => Adrian Bulldogs
|
|
||||||
AFA => Air Force Falcons
|
|
||||||
AIC => American International Yellow Jackets
|
|
||||||
AKR => Akron Zips
|
|
||||||
ALA => Alabama Crimson Tide
|
|
||||||
ALB => Albright Lions
|
|
||||||
ALBS => Albany State (GA) Golden Rams
|
|
||||||
ALCN => Alcorn State Braves
|
|
||||||
ALD => Alderson Broaddus Battlers
|
|
||||||
ALF => Alfred Saxons
|
|
||||||
ALL => Allegheny Gators
|
|
||||||
ALST => Alabama State Hornets
|
|
||||||
AMH => Amherst College Mammoths
|
|
||||||
AND => Anderson (IN) Ravens
|
|
||||||
ANG => Angelo State Rams
|
|
||||||
ANN => Anna Maria College Amcats
|
ANN => Anna Maria College Amcats
|
||||||
APP => Appalachian State Mountaineers
|
|
||||||
APSU => Austin Peay Governors
|
|
||||||
ARIZ => Arizona Wildcats
|
ARIZ => Arizona Wildcats
|
||||||
ARK => Arkansas-Monticello Boll Weevils
|
ARK => Arkansas Razorbacks
|
||||||
ARMY => Army Black Knights
|
|
||||||
ARST => Arkansas State Red Wolves
|
|
||||||
ASH => Ashland Eagles
|
|
||||||
ASP => Assumption Greyhounds
|
|
||||||
ASU => Arizona State Sun Devils
|
ASU => Arizona State Sun Devils
|
||||||
AUB => Auburn Tigers
|
AUB => Auburn Tigers
|
||||||
AUG => St. Augustine's Falcons
|
BOIS => Boise State Broncos
|
||||||
AUR => Aurora Spartans
|
BRST => Bridgewater State Bears
|
||||||
AUS => Austin College 'Roos
|
BUENA => Buena Vista Beavers
|
||||||
AVE => Averett Cougars
|
CAL => California Golden Bears
|
||||||
AVI => Avila College Eagles
|
CAR => Carroll University (WI) Pioneers
|
||||||
AZU => Azusa Pacific Cougars
|
CLA => Claremont-Mudd-Scripps College Stags
|
||||||
BAK => Baker University Wildcats
|
COLBY => Colby College White Mules
|
||||||
BAL => Baldwin Wallace Yellow Jackets
|
|
||||||
BALL => Ball State Cardinals
|
|
||||||
BAT => Bates College Bobcats
|
|
||||||
BAY => Baylor Bears
|
|
||||||
BC => Boston College Eagles
|
|
||||||
BEC => Becker College Hawks
|
|
||||||
BEL => Beloit College Buccaneers
|
|
||||||
BEN => Benedictine University (IL) Eagles
|
|
||||||
BENT => Bentley Falcons
|
|
||||||
BET => Bethel (TN) Wildcats
|
|
||||||
BGSU => Bowling Green Falcons
|
|
||||||
BHS => Black Hills State Yellow Jackets
|
|
||||||
BIR => Birmingham-Southern Panthers
|
|
||||||
BKN => Bacone College Warriors
|
|
||||||
BLA => Blackburn Beavers
|
|
||||||
BLOM => Bloomsburg Huskies
|
|
||||||
BLU => Bluffton Beavers
|
|
||||||
BOW => Bowdoin Polar Bears
|
|
||||||
BRI => British Columbia Thunderbirds
|
|
||||||
BRWN => Brown Bears
|
|
||||||
BST => Bemidji State Beavers
|
|
||||||
BSU => Bowie State Bulldogs
|
|
||||||
BUCK => Bucknell Bison
|
|
||||||
BUE => Buena Vista Beavers
|
|
||||||
BUF => Buffalo State Bengals
|
|
||||||
BUFF => Buffalo Bulls
|
|
||||||
BUT => Butler Bulldogs
|
|
||||||
BYU => BYU Cougars
|
|
||||||
CAL => California Lutheran Kingsmen
|
|
||||||
CAM => Campbell Fighting Camels
|
|
||||||
CAP => Capital University Crusaders
|
|
||||||
CAR => Carthage College Red Men
|
|
||||||
CARK => Central Arkansas Bears
|
|
||||||
CAS => Castleton Spartans
|
|
||||||
CAT => Catholic University Cardinals
|
|
||||||
CCSU => Central Connecticut Blue Devils
|
|
||||||
CCU => Coastal Carolina Chanticleers
|
|
||||||
CEN => Centre College Colonels
|
|
||||||
CHA => Chapman University Panthers
|
|
||||||
CHI => Chicago Maroons
|
|
||||||
CHSO => Charleston Southern Buccaneers
|
|
||||||
CIN => Cincinnati Bearcats
|
|
||||||
CLA => Clarion Golden Eagles
|
|
||||||
CLEM => Clemson Tigers
|
|
||||||
CLMB => Columbia Lions
|
|
||||||
CLT => Charlotte 49ers
|
|
||||||
CMU => Central Michigan Chippewas
|
|
||||||
COE => Coe College Kohawks
|
|
||||||
COL => Colorado School of Mines Orediggers
|
|
||||||
COLC => Colorado College Tigers
|
|
||||||
COLG => Colgate Raiders
|
|
||||||
COLO => Colorado Buffaloes
|
COLO => Colorado Buffaloes
|
||||||
CON => Concordia-Minnesota Cobbers
|
CONN => UConn Huskies
|
||||||
COR => Cornell College (IA) Rams
|
|
||||||
CP => Cal Poly Mustangs
|
CP => Cal Poly Mustangs
|
||||||
CRO => Crown Storm
|
|
||||||
CSU => Colorado State Rams
|
CSU => Colorado State Rams
|
||||||
CUL => Culver-Stockton Wildcats
|
|
||||||
CUM => Cumberland College Indians
|
|
||||||
CUR => Curry College Colonels
|
CUR => Curry College Colonels
|
||||||
DAK => Dakota Wesleyan Tigers
|
DEL => Delaware Blue Hens
|
||||||
DART => Dartmouth Big Green
|
|
||||||
DAV => Davidson Wildcats
|
|
||||||
DAY => Dayton Flyers
|
|
||||||
DEF => Defiance Yellow Jackets
|
|
||||||
DEL => Delta State Statesmen
|
|
||||||
DEN => Denison Big Red
|
|
||||||
DEP => DePauw Tigers
|
|
||||||
DIC => Dickinson State Blue Hawks
|
|
||||||
DRKE => Drake Bulldogs
|
|
||||||
DSU => Delaware State Hornets
|
|
||||||
DUB => Dubuque Spartans
|
DUB => Dubuque Spartans
|
||||||
DUKE => Duke Blue Devils
|
ELM => Elmhurst Bluejays
|
||||||
DUQ => Duquesne Dukes
|
FAMU => Florida A&M Rattlers
|
||||||
EAS => Eastern New Mexico Greyhounds
|
|
||||||
ECU => East Carolina Pirates
|
|
||||||
EDI => Edinboro Fighting Scots
|
|
||||||
EIU => Eastern Illinois Panthers
|
|
||||||
EKU => Eastern Kentucky Colonels
|
|
||||||
ELI => Elizabeth City State Vikings
|
|
||||||
ELM => Elmhurst Blue Jays
|
|
||||||
ELON => Elon Phoenix
|
|
||||||
EMO => Emory & Henry Wasps
|
|
||||||
EMP => Emporia State Hornets
|
|
||||||
EMU => Eastern Michigan Eagles
|
|
||||||
END => Endicott College Gulls
|
|
||||||
EOR => Eastern Oregon Mountaineers
|
|
||||||
ETSU => East Tennessee State Buccaneers
|
|
||||||
EUR => Eureka College Red Devils
|
|
||||||
EWU => Eastern Washington Eagles
|
|
||||||
FAU => Florida Atlantic Owls
|
|
||||||
FAY => Fayetteville State Broncos
|
|
||||||
FDU => FDU-Florham Devils
|
|
||||||
FER => Ferrum Panthers
|
|
||||||
FIN => Findlay Oilers
|
|
||||||
FIT => Fitchburg State Falcons
|
|
||||||
FIU => Florida International Panthers
|
|
||||||
FLA => Florida Gators
|
FLA => Florida Gators
|
||||||
FOR => Fort Valley State Wildcats
|
|
||||||
FRA => Franklin Grizzlies
|
|
||||||
FRES => Fresno State Bulldogs
|
|
||||||
FRO => Frostburg State Bobcats
|
|
||||||
FRST => Ferris State Bulldogs
|
|
||||||
FSU => Florida State Seminoles
|
FSU => Florida State Seminoles
|
||||||
FTLW => Fort Lewis Skyhawks
|
|
||||||
FUR => Furman Paladins
|
|
||||||
GAL => Gallaudet Bison
|
|
||||||
GAN => Gannon Golden Knights
|
|
||||||
GASO => Georgia Southern Eagles
|
|
||||||
GAST => Georgia State Panthers
|
|
||||||
GEN => Geneva College Golden Tornadoes
|
|
||||||
GEO => George Fox University Bruins
|
|
||||||
GET => Gettysburg Bullets
|
|
||||||
GLE => Glenville State Pioneers
|
|
||||||
GMU => George Mason Patriots
|
|
||||||
GRA => Grand Valley State Lakers
|
|
||||||
GRE => Greenville Panthers
|
|
||||||
GRI => Grinnell Pioneers
|
GRI => Grinnell Pioneers
|
||||||
GRO => Grove City College Wolverines
|
|
||||||
GT => Georgia Tech Yellow Jackets
|
GT => Georgia Tech Yellow Jackets
|
||||||
GUI => Guilford Quakers
|
GTWN => Georgetown Hoyas
|
||||||
GWEB => Gardner-Webb Bulldogs
|
|
||||||
HAM => Hampden-Sydney Tigers
|
|
||||||
HAMP => Hampton Pirates
|
|
||||||
HAN => Hanover Panthers
|
|
||||||
HAR => Hartwick Hawks
|
|
||||||
HARV => Harvard Crimson
|
|
||||||
HAS => Haskell Indian Nations Jayhawks
|
|
||||||
HAW => Hawai'i Rainbow Warriors
|
HAW => Hawai'i Rainbow Warriors
|
||||||
HBU => Houston Baptist Huskies
|
|
||||||
HC => Holy Cross Crusaders
|
|
||||||
HEI => Heidelberg Student Princes
|
|
||||||
HEN => Hendrix College Warriors
|
|
||||||
HIL => Hillsdale Chargers
|
|
||||||
HIR => Hiram College Terriers
|
|
||||||
HOB => Hobart Statesmen
|
|
||||||
HOU => Houston Cougars
|
|
||||||
HOW => Howard Bison
|
HOW => Howard Bison
|
||||||
HUS => Husson Eagles
|
|
||||||
IDHO => Idaho Vandals
|
IDHO => Idaho Vandals
|
||||||
IDST => Idaho State Bengals
|
|
||||||
ILL => Illinois Fighting Illini
|
|
||||||
ILST => Illinois State Redbirds
|
|
||||||
ILW => Illinois Wesleyan Titans
|
|
||||||
IND => Indianapolis
|
|
||||||
INST => Indiana State Sycamores
|
|
||||||
IOW => Iowa Wesleyan Tigers
|
|
||||||
IOWA => Iowa Hawkeyes
|
|
||||||
ISU => Iowa State Cyclones
|
ISU => Iowa State Cyclones
|
||||||
ITH => Ithaca Bombers
|
JXST => Jacksonville State Gamecocks
|
||||||
IU => Indiana Hoosiers
|
|
||||||
JKST => Jackson State Tigers
|
|
||||||
JMU => James Madison Dukes
|
|
||||||
JOH => Johnson C Smith Golden Bulls
|
|
||||||
JUN => Juniata Eagles
|
|
||||||
JVST => Jacksonville State Gamecocks
|
|
||||||
KAL => Kalamazoo Hornets
|
|
||||||
KAN => Kansas Wesleyan University Coyotes
|
|
||||||
KEN => Kenyon Lords
|
|
||||||
KENN => Kennesaw State Owls
|
|
||||||
KENT => Kent State Golden Flashes
|
|
||||||
KIN => King's College (PA) Monarchs
|
|
||||||
KNO => Knox College Prairie Fire
|
|
||||||
KSU => Kansas State Wildcats
|
|
||||||
KU => Kansas Jayhawks
|
|
||||||
KUT => Kutztown Golden Bears
|
|
||||||
KYST => Kentucky State Thorobreds
|
|
||||||
KYW => Kentucky Wesleyan Panthers
|
|
||||||
LA => La Verne Leopards
|
|
||||||
LAC => Lane Dragons
|
|
||||||
LAF => Lafayette Leopards
|
|
||||||
LAG => LaGrange College Panthers
|
|
||||||
LAK => Lake Forest Foresters
|
|
||||||
LAM => Lambuth Eagles
|
|
||||||
LAN => Langston Lions
|
|
||||||
LAW => Lawrence Vikings
|
|
||||||
LEB => Lebanon Valley Flying Dutchmen
|
|
||||||
LEH => Lehigh Mountain Hawks
|
|
||||||
LEN => Lenoir-Rhyne Bears
|
|
||||||
LEW => Lewis & Clark Pioneers
|
|
||||||
LIB => Liberty Flames
|
|
||||||
LIM => Limestone Saints
|
|
||||||
LIN => Linfield Wildcats
|
|
||||||
LOC => Lock Haven Bald Eagles
|
|
||||||
LOR => Loras College Duhawks
|
|
||||||
LOU => Louisville Cardinals
|
|
||||||
LSU => LSU Tigers
|
|
||||||
LT => Louisiana Tech Bulldogs
|
|
||||||
LUT => Luther Norse
|
LUT => Luther Norse
|
||||||
LYC => Lycoming Warriors
|
MESA => Colorado Mesa Mavericks
|
||||||
M-OH => Miami (OH) RedHawks
|
MIL => Millikin Big Blue
|
||||||
MAC => Macalester Scots
|
MOR => Morehouse College Maroon Tigers
|
||||||
MAI => Maine Maritime Mariners
|
NOR => North Park Vikings
|
||||||
MAN => Mansfield Mountaineers
|
|
||||||
MAR => Maryville College Fighting Scots
|
|
||||||
MAS => Mass Maritime Buccaneers
|
|
||||||
MASS => UMass Minutemen
|
|
||||||
MAY => Mayville State Comets
|
|
||||||
MCM => McMurry War Hawks
|
|
||||||
MCN => McNeese Cowboys
|
|
||||||
MD => Maryland Terrapins
|
|
||||||
MEM => Memphis Tigers
|
|
||||||
MEN => Menlo College Oaks
|
|
||||||
MER => Merchant Marine Mariners
|
|
||||||
MERC => Mercyhurst Lakers
|
|
||||||
MES => Colorado Mesa Mavericks
|
|
||||||
MET => Methodist Monarchs
|
|
||||||
MH => Mars Hill Mountain Lions
|
|
||||||
MIAMI => Miami Hurricanes
|
|
||||||
MICH => Michigan Wolverines
|
|
||||||
MID => Midwestern State Mustangs
|
|
||||||
MIL => Millsaps Majors
|
|
||||||
MIN => Minot State Beavers
|
|
||||||
MINN => Minnesota Golden Gophers
|
|
||||||
MIS => Missouri Western Griffons
|
|
||||||
MISS => Ole Miss Rebels
|
|
||||||
MIZ => Missouri Tigers
|
|
||||||
MNST => Minnesota State Mavericks
|
|
||||||
MONM => Monmouth Hawks
|
|
||||||
MONT => Montana Grizzlies
|
|
||||||
MOR => Morningside Chiefs
|
|
||||||
MORE => Morehead State Eagles
|
|
||||||
MORG => Morgan State Bears
|
|
||||||
MOU => Mount Union Raiders
|
|
||||||
MRSH => Marshall Thundering Herd
|
|
||||||
MRST => Marist Red Foxes
|
|
||||||
MSST => Mississippi State Bulldogs
|
|
||||||
MSU => Michigan State Spartans
|
|
||||||
MTST => Montana State Bobcats
|
|
||||||
MTSU => Middle Tennessee Blue Raiders
|
|
||||||
MTU => Michigan Tech Huskies
|
|
||||||
MUH => Muhlenberg Mules
|
|
||||||
MUR => Murray State Racers
|
|
||||||
MUS => Muskingum Fighting Muskies
|
|
||||||
MVSU => Mississippi Valley State Delta Devils
|
|
||||||
NAU => Northern Arizona Lumberjacks
|
|
||||||
NAVY => Navy Midshipmen
|
|
||||||
NBY => Newberry Wolves
|
|
||||||
NCAT => North Carolina A&T Aggies
|
|
||||||
NCCU => North Carolina Central Eagles
|
|
||||||
NCST => NC State Wolfpack
|
|
||||||
ND => Notre Dame Fighting Irish
|
|
||||||
NDOH => Notre Dame College Falcons
|
|
||||||
NDSU => North Dakota State Bison
|
|
||||||
NEB => Nebraska-Kearney Lopers
|
|
||||||
NEV => Nevada Wolf Pack
|
|
||||||
NH => New Haven Chargers
|
|
||||||
NICH => Nicholls Colonels
|
|
||||||
NIU => Northern Illinois Huskies
|
|
||||||
NMH => New Mexico Highlands Cowboys
|
|
||||||
NMI => Northern Michigan Wildcats
|
|
||||||
NMSU => New Mexico State Aggies
|
|
||||||
NOR => Univ. of Northwestern-St. Paul Eagles
|
|
||||||
NORF => Norfolk State Spartans
|
|
||||||
NW => Northwestern Wildcats
|
|
||||||
OBE => Oberlin Yeomen
|
|
||||||
ODU => Old Dominion Monarchs
|
|
||||||
OHI => Ohio Northern Polar Bears
|
|
||||||
OHIO => Ohio Bobcats
|
|
||||||
OKL => Oklahoma Baptist Bison
|
|
||||||
OKST => Oklahoma State Cowboys
|
|
||||||
OLI => Olivet College Comets
|
|
||||||
OMA => Omaha Mavericks
|
|
||||||
ORST => Oregon State Beavers
|
|
||||||
OSU => Ohio State Buckeyes
|
|
||||||
OTT => Otterbein Cardinals
|
|
||||||
OU => Oklahoma Sooners
|
|
||||||
PAC => Pacific (OR) Boxers
|
|
||||||
PENN => Pennsylvania Quakers
|
|
||||||
PIKE => Pikeville Bears
|
|
||||||
PITT => Pittsburgh Panthers
|
|
||||||
PRE => Presentation College Saints
|
|
||||||
PRI => Principia College Panthers
|
|
||||||
PRIN => Princeton Tigers
|
|
||||||
PST => Pittsburg State Gorillas
|
|
||||||
PSU => Penn State Nittany Lions
|
|
||||||
RED => Redlands Bulldogs
|
RED => Redlands Bulldogs
|
||||||
RICE => Rice Owls
|
|
||||||
RICH => Richmond Spiders
|
|
||||||
RIT => Rochester Yellow Jackets
|
|
||||||
ROB => Robert Morris (IL) Eagles
|
|
||||||
ROS => Rose-Hulman Engineers
|
|
||||||
RUTG => Rutgers Scarlet Knights
|
|
||||||
SAC => Sacramento State Hornets
|
SAC => Sacramento State Hornets
|
||||||
SAG => Saginaw Valley Cardinals
|
|
||||||
SDAK => South Dakota Coyotes
|
|
||||||
SDSU => San Diego State Aztecs
|
SDSU => San Diego State Aztecs
|
||||||
SET => Seton Hill Griffins
|
|
||||||
SIU => Southern Illinois Salukis
|
|
||||||
SJSU => San José State Spartans
|
SJSU => San José State Spartans
|
||||||
SLI => Slippery Rock The Rock
|
|
||||||
SOU => Southwestern College Moundbuilders
|
|
||||||
SPR => Springfield College Pride
|
|
||||||
ST => St. Scholastica Saints
|
|
||||||
STAN => Stanford Cardinal
|
STAN => Stanford Cardinal
|
||||||
STE => Stevenson University Mustangs
|
|
||||||
STET => Stetson Hatters
|
STET => Stetson Hatters
|
||||||
STO => Stonehill College Skyhawks
|
|
||||||
SUS => Susquehanna University River Hawks
|
|
||||||
SUU => Southern Utah Thunderbirds
|
|
||||||
SYR => Syracuse Orange
|
|
||||||
TA&M => Texas A&M Aggies
|
|
||||||
TAY => Taylor Trojans
|
|
||||||
TEM => Temple Owls
|
|
||||||
TEX => Texas Longhorns
|
|
||||||
TIF => Tiffin University Dragons
|
|
||||||
TLSA => Tulsa Golden Hurricane
|
|
||||||
TRI => Trinity University (TX) Tigers
|
|
||||||
TUF => Tufts University Jumbos
|
|
||||||
TXST => Texas State Bobcats
|
|
||||||
UAB => UAB Blazers
|
UAB => UAB Blazers
|
||||||
UAPB => Arkansas-Pine Bluff Golden Lions
|
|
||||||
UCD => UC Davis Aggies
|
|
||||||
UCF => UCF Knights
|
|
||||||
UCLA => UCLA Bruins
|
UCLA => UCLA Bruins
|
||||||
UCONN => UConn Huskies
|
|
||||||
UGA => Georgia Bulldogs
|
UGA => Georgia Bulldogs
|
||||||
UK => Kentucky Wildcats
|
|
||||||
UL => Louisiana Ragin' Cajuns
|
|
||||||
ULM => UL Monroe Warhawks
|
|
||||||
UMD => Minnesota-Duluth Bulldogs
|
|
||||||
UMDA => UMASS Dartmouth Corsairs
|
|
||||||
UML => UMass Lowell River Hawks
|
|
||||||
UNA => North Alabama Lions
|
|
||||||
UNC => North Carolina Tar Heels
|
|
||||||
UNCO => Northern Colorado Bears
|
|
||||||
UND => North Dakota Fighting Hawks
|
|
||||||
UNH => New Hampshire Wildcats
|
|
||||||
UNI => University of Mary Marauders
|
|
||||||
UNLV => UNLV Rebels
|
|
||||||
UNM => New Mexico Lobos
|
|
||||||
UNNY => Union Dutchmen
|
|
||||||
UNT => North Texas Mean Green
|
|
||||||
UPP => Upper Iowa Peacocks
|
|
||||||
URI => Rhode Island Rams
|
|
||||||
USA => South Alabama Jaguars
|
USA => South Alabama Jaguars
|
||||||
USC => USC Trojans
|
USC => USC Trojans
|
||||||
USD => San Diego Toreros
|
|
||||||
USF => South Florida Bulls
|
USF => South Florida Bulls
|
||||||
USU => Utah State Aggies
|
|
||||||
UTAH => Utah Utes
|
|
||||||
UTC => Chattanooga Mocs
|
|
||||||
UTI => Utica College Pioneers
|
|
||||||
UVA => Virginia Cavaliers
|
|
||||||
VAL => Valley City State Vikings
|
|
||||||
VAN => Vanderbilt Commodores
|
|
||||||
VILL => Villanova Wildcats
|
|
||||||
VIR => Virginia State Trojans
|
|
||||||
VT => Virginia Tech Hokies
|
|
||||||
WAB => Wabash College Little Giants
|
|
||||||
WAKE => Wake Forest Demon Deacons
|
|
||||||
WAS => Washington-Missouri Bears
|
|
||||||
WASH => Washington Huskies
|
|
||||||
WAY => Wayne State (MI) Warriors
|
|
||||||
WES => Westminster College (MO) Blue Jays
|
|
||||||
WHE => Wheaton College Illinois Thunder
|
|
||||||
WIL => Wilkes University Colonels
|
|
||||||
WIN => Wingate Bulldogs
|
|
||||||
WIS => Wisconsin-Platteville Pioneers
|
|
||||||
WISC => Wisconsin Badgers
|
|
||||||
WKU => Western Kentucky Hilltoppers
|
|
||||||
WOR => Worcester State College Lancers
|
|
||||||
WSU => Washington State Cougars
|
|
||||||
WVU => West Virginia Mountaineers
|
|
||||||
YALE => Yale Bulldogs
|
YALE => Yale Bulldogs
|
||||||
|
|
||||||
NBA
|
NBA
|
||||||
@@ -1106,6 +755,181 @@ MLB Conferences/Divisions
|
|||||||
OAK => Oakland Athletics
|
OAK => Oakland Athletics
|
||||||
SEA => Seattle Mariners
|
SEA => Seattle Mariners
|
||||||
TEX => Texas Rangers
|
TEX => Texas Rangers
|
||||||
|
|
||||||
|
Soccer Leagues:
|
||||||
|
LEAGUE_SLUGS = {
|
||||||
|
"eng.1": "Premier League",
|
||||||
|
"esp.1": "La Liga",
|
||||||
|
"ger.1": "Bundesliga",
|
||||||
|
"ita.1": "Serie A",
|
||||||
|
"fra.1": "Ligue 1",
|
||||||
|
"uefa.champions": "Champions League",
|
||||||
|
"uefa.europa": "Europa League",
|
||||||
|
"usa.1": "MLS",
|
||||||
|
"por.1": "Liga Portugal", # Add this line
|
||||||
|
}
|
||||||
|
|
||||||
|
Soccer - Premier League (England)
|
||||||
|
ARS => Arsenal
|
||||||
|
AVL => Aston Villa
|
||||||
|
BHA => Brighton & Hove Albion
|
||||||
|
BOU => AFC Bournemouth
|
||||||
|
BRE => Brentford
|
||||||
|
BUR => Burnley
|
||||||
|
CHE => Chelsea
|
||||||
|
CRY => Crystal Palace
|
||||||
|
EVE => Everton
|
||||||
|
FUL => Fulham
|
||||||
|
LIV => Liverpool
|
||||||
|
LUT => Luton Town
|
||||||
|
MCI => Manchester City
|
||||||
|
MUN => Manchester United
|
||||||
|
NEW => Newcastle United
|
||||||
|
NFO => Nottingham Forest
|
||||||
|
SHU => Sheffield United
|
||||||
|
TOT => Tottenham Hotspur
|
||||||
|
WHU => West Ham United
|
||||||
|
WOL => Wolverhampton Wanderers
|
||||||
|
|
||||||
|
Soccer - La Liga (Spain)
|
||||||
|
ALA => Alavés
|
||||||
|
ATH => Athletic Bilbao
|
||||||
|
ATM => Atlético Madrid
|
||||||
|
BAR => Barcelona
|
||||||
|
BET => Real Betis
|
||||||
|
CAG => Cagliari
|
||||||
|
CEL => Celta Vigo
|
||||||
|
ESP => Espanyol
|
||||||
|
GET => Getafe
|
||||||
|
GIR => Girona
|
||||||
|
LAZ => Lazio
|
||||||
|
LEG => Leganés
|
||||||
|
RAY => Rayo Vallecano
|
||||||
|
RMA => Real Madrid
|
||||||
|
SEV => Sevilla
|
||||||
|
VAL => Valencia
|
||||||
|
VLD => Valladolid
|
||||||
|
|
||||||
|
Soccer - Bundesliga (Germany)
|
||||||
|
BOC => VfL Bochum
|
||||||
|
BOL => VfL Bochum
|
||||||
|
DOR => Borussia Dortmund
|
||||||
|
FCA => FC Augsburg
|
||||||
|
FCB => Bayern Munich
|
||||||
|
FCU => FC Union Berlin
|
||||||
|
HAC => Hannover 96
|
||||||
|
HDH => Hertha BSC
|
||||||
|
KOL => 1. FC Köln
|
||||||
|
LEV => Bayer Leverkusen
|
||||||
|
M05 => Mainz 05
|
||||||
|
RBL => RB Leipzig
|
||||||
|
SCF => SC Freiburg
|
||||||
|
SGE => Eintracht Frankfurt
|
||||||
|
STU => VfB Stuttgart
|
||||||
|
SVW => Werder Bremen
|
||||||
|
TSG => TSG Hoffenheim
|
||||||
|
WOB => VfL Wolfsburg
|
||||||
|
|
||||||
|
Soccer - Serie A (Italy)
|
||||||
|
ATA => Atalanta
|
||||||
|
CAG => Cagliari
|
||||||
|
EMP => Empoli
|
||||||
|
FIO => Fiorentina
|
||||||
|
INT => Inter Milan
|
||||||
|
JUV => Juventus
|
||||||
|
LAZ => Lazio
|
||||||
|
MIL => AC Milan
|
||||||
|
MON => Monza
|
||||||
|
NAP => Napoli
|
||||||
|
ROM => Roma
|
||||||
|
TOR => Torino
|
||||||
|
UDI => Udinese
|
||||||
|
VER => Hellas Verona
|
||||||
|
|
||||||
|
Soccer - Ligue 1 (France)
|
||||||
|
LIL => Lille
|
||||||
|
LPM => Lille
|
||||||
|
LYON => Lyon
|
||||||
|
MAR => Marseille
|
||||||
|
MON => Monaco
|
||||||
|
NAN => Nantes
|
||||||
|
NICE => Nice
|
||||||
|
OL => Olympique Lyonnais
|
||||||
|
OM => Olympique de Marseille
|
||||||
|
PAR => Paris Saint-Germain
|
||||||
|
PSG => Paris Saint-Germain
|
||||||
|
REN => Rennes
|
||||||
|
STR => Strasbourg
|
||||||
|
|
||||||
|
Soccer - Champions League
|
||||||
|
AJA => Ajax
|
||||||
|
ASM => AS Monaco
|
||||||
|
ASS => AS Saint-Étienne
|
||||||
|
BOC => VfL Bochum
|
||||||
|
CEL => Celtic
|
||||||
|
COM => Club Brugge
|
||||||
|
FCA => FC Augsburg
|
||||||
|
FCB => Bayern Munich
|
||||||
|
FCU => FC Union Berlin
|
||||||
|
FIO => Fiorentina
|
||||||
|
GEN => Genoa
|
||||||
|
HAC => Hannover 96
|
||||||
|
IPS => Ipswich Town
|
||||||
|
KSV => Kaiserslautern
|
||||||
|
LEC => Lecce
|
||||||
|
LIL => Lille
|
||||||
|
LIV => Liverpool
|
||||||
|
M05 => Mainz 05
|
||||||
|
MCI => Manchester City
|
||||||
|
MUN => Manchester United
|
||||||
|
NAN => Nantes
|
||||||
|
OSA => Osasuna
|
||||||
|
RBL => RB Leipzig
|
||||||
|
RCL => RC Lens
|
||||||
|
RMA => Real Madrid
|
||||||
|
SCF => SC Freiburg
|
||||||
|
SGE => Eintracht Frankfurt
|
||||||
|
SR => Sporting CP
|
||||||
|
STP => St. Pauli
|
||||||
|
SVW => Werder Bremen
|
||||||
|
TFC => Toulouse FC
|
||||||
|
TOT => Tottenham Hotspur
|
||||||
|
TSG => TSG Hoffenheim
|
||||||
|
UDI => Udinese
|
||||||
|
VEN => Venezia
|
||||||
|
VFB => VfB Stuttgart
|
||||||
|
VIL => Villarreal
|
||||||
|
|
||||||
|
Soccer - Liga Portugal (Portugal)
|
||||||
|
ARO => Arouca
|
||||||
|
BEN => SL Benfica
|
||||||
|
BRA => SC Braga
|
||||||
|
CHA => Chaves
|
||||||
|
EST => Estoril Praia
|
||||||
|
FAM => Famalicão
|
||||||
|
GIL => Gil Vicente
|
||||||
|
MOR => Moreirense
|
||||||
|
POR => FC Porto
|
||||||
|
PTM => Portimonense
|
||||||
|
RIO => Rio Ave
|
||||||
|
SR => Sporting CP
|
||||||
|
VGU => Vitória de Guimarães
|
||||||
|
VSC => Vitória de Setúbal
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Soccer - Other Teams
|
||||||
|
austin => Austin FC
|
||||||
|
cf_montral => CF Montréal
|
||||||
|
charlotte => Charlotte FC
|
||||||
|
dortmund => Borussia Dortmund
|
||||||
|
gladbach => Borussia Mönchengladbach
|
||||||
|
lafc => Los Angeles FC
|
||||||
|
leverkusen => Bayer Leverkusen
|
||||||
|
nycfc => New York City FC
|
||||||
|
paris_sg => Paris Saint-Germain
|
||||||
|
st_louis => St. Louis City SC
|
||||||
|
|
||||||
MLS Conferences/Divisions
|
MLS Conferences/Divisions
|
||||||
Conferences currently unsupported
|
Conferences currently unsupported
|
||||||
|
|
||||||
|
|||||||
BIN
assets/sports/mlb_logos/mlb.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 20 KiB |
BIN
assets/sports/nba_logos/nba.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
BIN
assets/sports/ncaa_logos/AANDM.png
Normal file
|
After Width: | Height: | Size: 409 B |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
BIN
assets/sports/ncaa_logos/AIC.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
BIN
assets/sports/ncaa_logos/AMH.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
assets/sports/ncaa_logos/ANN.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
BIN
assets/sports/ncaa_logos/ARIZ.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
assets/sports/ncaa_logos/ARK.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
BIN
assets/sports/ncaa_logos/ASU.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
assets/sports/ncaa_logos/AUB.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
BIN
assets/sports/ncaa_logos/BOIS.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
assets/sports/ncaa_logos/BRST.png
Normal file
|
After Width: | Height: | Size: 109 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
BIN
assets/sports/ncaa_logos/BU.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
assets/sports/ncaa_logos/BUENA.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
BIN
assets/sports/ncaa_logos/CAL.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
assets/sports/ncaa_logos/CAR.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
BIN
assets/sports/ncaa_logos/CLA.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
BIN
assets/sports/ncaa_logos/COLBY.png
Normal file
|
After Width: | Height: | Size: 105 KiB |
BIN
assets/sports/ncaa_logos/COLO.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
assets/sports/ncaa_logos/CONN.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
assets/sports/ncaa_logos/CP.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
assets/sports/ncaa_logos/CSU.png
Normal file
|
After Width: | Height: | Size: 84 KiB |
BIN
assets/sports/ncaa_logos/CUR.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
BIN
assets/sports/ncaa_logos/DAL.png
Normal file
|
After Width: | Height: | Size: 386 B |
BIN
assets/sports/ncaa_logos/DEL.png
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
assets/sports/ncaa_logos/DEN.png
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
assets/sports/ncaa_logos/DUB.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 53 KiB |
BIN
assets/sports/ncaa_logos/ELM.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
assets/sports/ncaa_logos/FAMU.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
BIN
assets/sports/ncaa_logos/FLA.png
Normal file
|
After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
BIN
assets/sports/ncaa_logos/FSU.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
BIN
assets/sports/ncaa_logos/GRI.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
assets/sports/ncaa_logos/GT.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
assets/sports/ncaa_logos/GTWN.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
assets/sports/ncaa_logos/HAW.png
Normal file
|
After Width: | Height: | Size: 44 KiB |