football-sources 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/Manifest.txt +6 -15
  3. data/README.md +142 -1
  4. data/Rakefile +1 -1
  5. data/lib/football-sources.rb +26 -15
  6. data/lib/football-sources/apis.rb +1 -77
  7. data/lib/football-sources/apis/mods.rb +20 -0
  8. data/lib/football-sources/fbref.rb +4 -0
  9. data/lib/football-sources/fbref/build.rb +96 -0
  10. data/lib/football-sources/fbref/config.rb +16 -0
  11. data/lib/football-sources/fbref/convert.rb +95 -0
  12. data/lib/football-sources/version.rb +2 -2
  13. data/lib/football-sources/worldfootball.rb +1 -6
  14. data/lib/football-sources/worldfootball/jobs.rb +76 -0
  15. metadata +10 -19
  16. data/lib/football-sources/apis/download.rb +0 -11
  17. data/lib/football-sources/worldfootball/download.rb +0 -61
  18. data/lib/football-sources/worldfootball/leagues.rb +0 -200
  19. data/lib/football-sources/worldfootball/leagues/asia.rb +0 -53
  20. data/lib/football-sources/worldfootball/leagues/europe--british_isles.rb +0 -59
  21. data/lib/football-sources/worldfootball/leagues/europe--central.rb +0 -127
  22. data/lib/football-sources/worldfootball/leagues/europe--eastern.rb +0 -82
  23. data/lib/football-sources/worldfootball/leagues/europe--northern.rb +0 -57
  24. data/lib/football-sources/worldfootball/leagues/europe--southern.rb +0 -86
  25. data/lib/football-sources/worldfootball/leagues/europe--western.rb +0 -38
  26. data/lib/football-sources/worldfootball/leagues/europe.rb +0 -13
  27. data/lib/football-sources/worldfootball/leagues/north_america.rb +0 -44
  28. data/lib/football-sources/worldfootball/leagues/pacific.rb +0 -21
  29. data/lib/football-sources/worldfootball/leagues/south_america.rb +0 -11
  30. data/lib/football-sources/worldfootball/tool.rb +0 -100
@@ -1,53 +0,0 @@
1
- module Worldfootball
2
-
3
- LEAGUES_ASIA = {
4
-
5
- # /chn-super-league-2020/
6
- 'cn.1' => { pages: 'chn-super-league' },
7
-
8
- # /jpn-j1-league-2020/
9
- 'jp.1' => { pages: 'jpn-j1-league' },
10
-
11
-
12
- =begin
13
- 2020 -- >/alle_spiele/kor-k-league-1-2020/<
14
- 2019 Meisterschaft -- >/alle_spiele/kor-k-league-1-2019-meisterschaft/<
15
- 2019 Abstieg -- >/alle_spiele/kor-k-league-1-2019-abstieg/<
16
- 2019 -- >/alle_spiele/kor-k-league-1-2019/<
17
- 2018 Meisterschaft -- >/alle_spiele/kor-k-league-1-2018-meisterschaft/<
18
- 2018 Abstieg -- >/alle_spiele/kor-k-league-1-2018-abstieg/<
19
- 2018 -- >/alle_spiele/kor-k-league-classic-2018/<
20
- 2017 Meisterschaft -- >/alle_spiele/kor-k-league-classic-2017-meisterschaft/<
21
- 2017 Abstieg -- >/alle_spiele/kor-k-league-classic-2017-abstieg/<
22
- 2017 -- >/alle_spiele/kor-k-league-classic-2017/<
23
- 2016 Meisterschaft -- >/alle_spiele/kor-k-league-classic-2016-meisterschaft/<
24
- 2016 Abstieg -- >/alle_spiele/kor-k-league-classic-2016-abstieg/<
25
- 2016 -- >/alle_spiele/kor-k-league-2016/<
26
- 2015 Meisterschaft -- >/alle_spiele/kor-k-league-2015-meisterschaft/<
27
- 2015 Abstieg -- >/alle_spiele/kor-k-league-2015-abstieg/<
28
- 2015 -- >/alle_spiele/kor-k-league-2015/<
29
- =end
30
-
31
- ### todo/fix: time-zone offset!!!!!!!!
32
- # /kor-k-league-1-2020/
33
- # /kor-k-league-1-2019-meisterschaft/
34
- # /kor-k-league-1-2019-abstieg/
35
- 'kr.1' => {
36
- pages: {
37
- 'kor-k-league-1-{season}' => 'Regular Season', # 1
38
- 'kor-k-league-1-{season}-meisterschaft' => 'Playoffs - Championship', # 2
39
- 'kor-k-league-1-{season}-abstieg' => 'Playoffs - Relegation', # 3
40
- },
41
- season: ->( season ) {
42
- case season
43
- when Season('2020') then [1] # just getting started
44
- when Season('2019') then [1,2,3]
45
- end
46
- }
47
- },
48
-
49
- }
50
-
51
- end # module Worldfootball
52
-
53
-
@@ -1,59 +0,0 @@
1
-
2
- module Worldfootball
3
-
4
-
5
- LEAGUES_EUROPE.merge!({
6
-
7
-
8
- # /eng-national-league-2020-2021/
9
- 'eng.1' => { pages: 'eng-premier-league' },
10
- 'eng.2' => { pages: 'eng-championship' },
11
- 'eng.3' => { pages: 'eng-league-one' },
12
- 'eng.4' => { pages: 'eng-league-two' },
13
- 'eng.5' => { pages: 'eng-national-league' },
14
- 'eng.cup' => { pages: 'eng-fa-cup' }, ## change key to eng.cup.fa or such??
15
- 'eng.cup.l' => { pages: 'eng-league-cup' }, ## change key to ??
16
-
17
- 'sco.1' => {
18
- pages: {
19
- 'sco-premiership-{season}' => 'Regular Season',
20
- 'sco-premiership-{end_year}-playoff' => 'Playoffs - Championship', # note: only uses season.end_year!
21
- 'sco-premiership-{end_year}-abstieg' => 'Playoffs - Relegation', # note: only uses season.end_year!
22
- },
23
- season: ->( season ) {
24
- case season
25
- when Season('2020/21') then [1] # just getting started
26
- when Season('2019/20') then [1] # covid-19 - no championship & relegation
27
- when Season('2018/19') then [1,2,3]
28
- end
29
- }
30
- },
31
-
32
- # e.g. /irl-premier-division-2019/
33
- # irl-premier-division-2020
34
- # irl-premier-division-2019
35
- # irl-premier-division-2018
36
- # irl-premier-division-2017
37
- # irl-premier-division-2016
38
- # irl-premier-division-2015
39
- # irl-premier-division-2014
40
- # irl-premier-division-2013
41
- # irl-airtricity-league-2012
42
- # irl-airtricity-league-2011
43
- # irl-airtricity-league-2010
44
-
45
- 'ie.1' => {
46
- pages: [
47
- 'irl-premier-division',
48
- 'irl-airtricity-league'],
49
- season: ->( season ) {
50
- case season
51
- when Season('2013')..Season('2020') then 1
52
- when Season('2010')..Season('2012') then 2
53
- end
54
- }
55
- },
56
- })
57
-
58
- end
59
-
@@ -1,127 +0,0 @@
1
-
2
- module Worldfootball
3
-
4
-
5
- LEAGUES_EUROPE.merge!({
6
-
7
- # /2-bundesliga-{season}/
8
- # /2-bundesliga-2013-2014/
9
- # /dfb-pokal-2019-2020/
10
-
11
- 'de.1' => { pages: 'bundesliga' },
12
- 'de.2' => { pages: '2-bundesliga' },
13
- 'de.3' => { pages: '3-liga' },
14
- 'de.cup' => { pages: 'dfb-pokal' },
15
-
16
-
17
-
18
- ## note: use aut-2-liga !!! starting 2019-2018 !!!
19
- ## use aut-erste-liga !!! before e.g. 2010-2011 etc.
20
- #
21
- # /aut-erste-liga-{season}/
22
- # /aut-bundesliga-2010-2011/
23
- # /aut-erste-liga-2010-2011/
24
- # /aut-oefb-cup-2019-2020/
25
-
26
- =begin
27
- 2019/2020 Qualifikationsgruppe -- >/alle_spiele/aut-bundesliga-2019-2020-qualifikationsgruppe/<
28
- 2019/2020 Playoff -- >/alle_spiele/aut-bundesliga-2019-2020-playoff/<
29
- 2019/2020 Meistergruppe -- >/alle_spiele/aut-bundesliga-2019-2020-meistergruppe/<
30
- 2019/2020 -- >/alle_spiele/aut-bundesliga-2019-2020/<
31
- 2018/2019 Qualifikationsgruppe -- >/alle_spiele/aut-bundesliga-2018-2019-qualifikationsgruppe/<
32
- 2018/2019 Playoff -- >/alle_spiele/aut-bundesliga-2018-2019-playoff/<
33
- 2018/2019 Meistergruppe -- >/alle_spiele/aut-bundesliga-2018-2019-meistergruppe/<
34
- =end
35
-
36
- 'at.1' => {
37
- pages: {
38
- 'aut-bundesliga-{season}' => 'Grunddurchgang', # 1
39
- 'aut-bundesliga-{season}-meistergruppe' => 'Finaldurchgang - Meister', # 2
40
- 'aut-bundesliga-{season}-qualifikationsgruppe' => 'Finaldurchgang - Qualifikation', # 3
41
- 'aut-bundesliga-{season}-playoff' => 'Europa League Play-off', # 4
42
- },
43
- season: ->( season ) {
44
- case season
45
- when Season('2020/21') then [1]
46
- when Season('2018/19')..Season('2019/20') then [1,2,3,4]
47
- else 1 ## use simple format for the rest; note: index NOT wrapped in array
48
- end
49
- },
50
- },
51
- 'at.2' => {
52
- pages: ['aut-2-liga',
53
- 'aut-erste-liga'],
54
- season: ->(season) { season.start_year >= 2019 ? 1 : 2 }
55
- },
56
- # /aut-regionalliga-ost-2020-2021/
57
- 'at.3.o' => { pages: 'aut-regionalliga-ost' },
58
- 'at.cup' => { pages: 'aut-oefb-cup' },
59
-
60
-
61
- # /sui-super-league-2019-2020/
62
- # /sui-challenge-league-2019-2020/
63
-
64
- 'ch.1' => { pages: 'sui-super-league' },
65
- 'ch.2' => { pages: 'sui-challenge-league' },
66
-
67
- # /hun-nb-i-2020-2021/
68
- 'hu.1' => { pages: 'hun-nb-i' },
69
-
70
- # /cze-1-fotbalova-liga-2020-2021/
71
- 'cz.1' => {
72
- pages: {
73
- 'cze-1-fotbalova-liga-{season}' => 'Regular Season', # 1
74
- },
75
- season: ->( season ) {
76
- case season
77
- when Season('2020/21') then [1] # just getting started
78
- end
79
- }
80
- },
81
-
82
-
83
- # /pol-ekstraklasa-2020-2021/
84
- # /pol-ekstraklasa-2019-2020-playoffs/
85
- # /pol-ekstraklasa-2019-2020-abstieg/
86
- #
87
- # championship round (top eight teams) and
88
- # relegation round (bottom eight teams)
89
- 'pl.1' => {
90
- pages: {
91
- 'pol-ekstraklasa-{season}' => 'Regular Season', # 1
92
- 'pol-ekstraklasa-{season}-playoffs' => 'Playoffs - Championship', # 2
93
- 'pol-ekstraklasa-{season}-abstieg' => 'Playoffs - Relegation', # 3
94
- },
95
- season: ->( season ) {
96
- case season
97
- when Season('2020/21') then [1] # just getting started
98
- when Season('2019/20') then [1,2,3]
99
- when Season('2018/19') then [1,2,3]
100
- end
101
- }
102
- },
103
-
104
- # /svk-super-liga-2020-2021/
105
- # /svk-super-liga-2019-2020-meisterschaft/
106
- # /svk-super-liga-2019-2020-abstieg/
107
- # /svk-super-liga-2019-2020-europa-league/
108
- 'sk.1' => {
109
- pages: {
110
- 'svk-super-liga-{season}' => 'Regular Season', # 1
111
- 'svk-super-liga-{season}-meisterschaft' => 'Playoffs - Championship', # 2
112
- 'svk-super-liga-{season}-abstieg' => 'Playoffs - Relegation', # 3
113
- 'svk-super-liga-{season}-europa-league' => 'Europa League Finals', # 4
114
- },
115
- season: ->( season ) {
116
- case season
117
- when Season('2020/21') then [1] # getting started
118
- when Season('2019/20') then [1,2,3,4]
119
- when Season('2018/19') then [1,2,3] # note: no europa league finals / playoffs
120
- end
121
- }
122
- },
123
-
124
-
125
- })
126
-
127
- end
@@ -1,82 +0,0 @@
1
-
2
- module Worldfootball
3
-
4
- LEAGUES_EUROPE.merge!({
5
-
6
- # /rou-liga-1-2019-2020
7
- # /rou-liga-1-2019-2020-championship
8
- # /rou-liga-1-2019-2020-relegation
9
- # ..
10
- # /rom-liga-1-2015-2016
11
- # /rom-liga-1-2015-2016-championship
12
- # /rou-liga-1-2015-2016-relegation
13
-
14
-
15
- 'ro.1' => {
16
- pages: {
17
- 'rou-liga-1-{season}' => 'Regular Season',
18
- 'rou-liga-1-{season}-championship' => 'Playoffs - Championship',
19
- 'rou-liga-1-{season}-relegation' => 'Playoffs - Relegation',
20
- ## note: change of country code from rou to rom in slug in 2015/16!!!
21
- 'rom-liga-1-{season}' => 'Regular Season',
22
- 'rom-liga-1-{season}-championship' => 'Playoffs - Championship',
23
- 'rom-liga-1-{season}-relegation' => 'Playoffs - Relegation',
24
- },
25
- season: ->( season ) {
26
- case season
27
- when Season('2020/21') then [1] # just getting started
28
- when Season('2016/17')..Season('2019/20') then [1,2,3]
29
- when Season('2015/16') then [4,5,3] # handle special case with weird mixed slugs
30
- when Season('2010/11')..Season('2014/15') then 4 ## use simple format for the rest; note: index NOT wrapped in array
31
- end
32
- }
33
- },
34
-
35
- # rus-premier-liga-2020-2021
36
- # ..
37
- # rus-premier-liga-2012-2013
38
- #
39
- # rus-premier-liga-2011-2012
40
- # rus-premier-liga-2011-2012-meisterschaft
41
- # rus-premier-liga-2011-2012-relegation
42
- #
43
- # rus-premier-liga-2010
44
- 'ru.1' => {
45
- pages: {
46
- 'rus-premier-liga-{season}' => 'Regular Season',
47
- 'rus-premier-liga-{season}-meisterschaft' => 'Playoffs - Championship',
48
- 'rus-premier-liga-{season}-relegation' => 'Playoffs - Relegation',
49
- },
50
- season: ->( season ) {
51
- case season
52
- when Season('2012/13')..Season('2020/21') then 1 ## use simple format for the rest; note: index NOT wrapped in array
53
- when Season('2011/12') then [1,2,3]
54
- when Season('2004')..Season('2010') then 1 ## use simple format for the rest; note: index NOT wrapped in array
55
- end
56
- }
57
- },
58
- 'ru.2' => { pages: 'rus-1-division' },
59
-
60
- # /ukr-premyer-liga-2019-2020/
61
- # /ukr-premyer-liga-2019-2020-meisterschaft/
62
- # /ukr-premyer-liga-2019-2020-abstieg/
63
- # /ukr-premyer-liga-2019-2020-playoffs-el/
64
- 'ua.1' => {
65
- pages: {
66
- 'ukr-premyer-liga-{season}' => 'Regular Season',
67
- 'ukr-premyer-liga-{season}-meisterschaft' => 'Playoffs - Championship',
68
- 'ukr-premyer-liga-{season}-abstieg' => 'Playoffs - Relegation',
69
- 'ukr-premyer-liga-{season}-playoffs-el' => 'Europa League Finals',
70
- },
71
- season: ->( season ) {
72
- case season
73
- when Season('2019/20') then [1,2,3,4]
74
- when Season('2018/19') then [1,2,3] # note: no europa league finals / playoffs
75
- end
76
- }
77
- },
78
-
79
- })
80
-
81
- end
82
-
@@ -1,57 +0,0 @@
1
-
2
- module Worldfootball
3
-
4
- LEAGUES_EUROPE.merge!({
5
- # e.g. /isl-urvalsdeild-2020/
6
- 'is.1' => { pages: 'isl-urvalsdeild' },
7
-
8
- # e.g. /swe-allsvenskan-2020/
9
- # /swe-superettan-2020/
10
- 'se.1' => { pages: 'swe-allsvenskan' },
11
- 'se.2' => { pages: 'swe-superettan' },
12
-
13
- # e.g. /nor-eliteserien-2020/
14
- 'no.1' => { pages: 'nor-eliteserien' },
15
-
16
- # e.g. /fin-veikkausliiga-2019/
17
- # /fin-veikkausliiga-2019-meisterschaft/
18
- # /fin-veikkausliiga-2019-abstieg/
19
- # /fin-veikkausliiga-2019-playoff-el/
20
- 'fi.1' => {
21
- pages: {
22
- 'fin-veikkausliiga-{season}' => 'Regular Season',
23
- 'fin-veikkausliiga-{season}-meisterschaft' => 'Playoffs - Championship',
24
- 'fin-veikkausliiga-{season}-abstieg' => 'Playoffs - Challenger',
25
- 'fin-veikkausliiga-{season}-playoff-el' => 'Europa League Finals',
26
- },
27
- season: ->( season ) {
28
- case season
29
- when Season('2020') then [1] # just getting started
30
- when Season('2019') then [1,2,3,4]
31
- end
32
- }
33
- },
34
-
35
- # /den-superliga-2020-2021/
36
- # /den-superliga-2019-2020-meisterschaft/
37
- # /den-superliga-2019-2020-abstieg/
38
- # /den-superliga-2019-2020-europa-league/
39
- 'dk.1' => {
40
- pages: {
41
- 'den-superliga-{season}' => 'Regular Season',
42
- 'den-superliga-{season}-meisterschaft' => 'Playoffs - Championship',
43
- 'den-superliga-{season}-abstieg' => 'Playoffs - Relegation',
44
- 'den-superliga-{season}-europa-league' => 'Europa League Finals',
45
- },
46
- season: ->( season ) {
47
- case season
48
- when Season('2020/21') then [1] # just getting started
49
- when Season('2019/20') then [1,2,3,4]
50
- when Season('2018/19') then [1,2,3,4]
51
- end
52
- }
53
- },
54
-
55
- })
56
-
57
- end
@@ -1,86 +0,0 @@
1
-
2
- module Worldfootball
3
-
4
- LEAGUES_EUROPE.merge!({
5
-
6
- # /ita-serie-a-2019-2020/
7
- # /ita-serie-b-2020-2021/
8
- 'it.1' => { pages: 'ita-serie-a' },
9
- 'it.2' => { pages: 'ita-serie-b' },
10
-
11
- # /por-primeira-liga-2019-2020/
12
- # por-primeira-liga-2020-2021
13
- # por-primeira-liga-2019-2020
14
- # por-primeira-liga-2018-2019
15
- # por-primeira-liga-2017-2018
16
- # por-primeira-liga-2016-2017
17
- # por-primeira-liga-2015-2016
18
- # por-primeira-liga-2014-2015
19
- # por-primeira-liga-2013-2014
20
- # por-liga-zon-sagres-2012-2013
21
- # por-liga-zon-sagres-2011-2012
22
- # por-liga-sagres-2010-2011
23
- # ...
24
- # /por-segunda-liga-2019-2020/
25
- # note: Sponsorship names for seasons
26
- # 2002–2005: SuperLiga GalpEnergia
27
- # 2005–2006: Liga betandwin.com
28
- # 2006–2008: BWINLIGA
29
- # 2008–2010: Liga Sagres
30
- # 2010–2014: Liga ZON Sagres
31
- # 2014–2020: Liga NOS
32
- 'pt.1' => {
33
- pages: ['por-primeira-liga',
34
- 'por-liga-zon-sagres',
35
- 'por-liga-sagres'
36
- ],
37
- season: ->( season ) {
38
- case season
39
- when Season('2013/14')..Season('2020/21') then 1
40
- when Season('2011/12')..Season('2012/13') then 2
41
- when Season('2010/11') then 3
42
- end
43
- },
44
- },
45
- 'pt.2' => { pages: 'por-segunda-liga' },
46
-
47
- # /esp-primera-division-2019-2020/
48
- 'es.1' => { pages: 'esp-primera-division' },
49
- 'es.2' => { pages: 'esp-segunda-division' },
50
-
51
- # /tur-sueperlig-2020-2021/
52
- 'tr.1' => { pages: 'tur-sueperlig' },
53
- 'tr.2' => { pages: 'tur-1-lig' },
54
-
55
-
56
- # /gre-super-league-2020-2021/
57
- 'gr.1' => {
58
- pages: {
59
- ## note: change from superleague to super-league !!!
60
- 'gre-super-league' => 'Regular Season',
61
- 'gre-super-league-{season}-meisterschaft' => 'Playoffs - Championship',
62
- 'gre-super-league-{season}-abstieg' => 'Playoffs - Relegation',
63
- 'gre-superleague' => 'Regular Season',
64
- 'gre-superleague-{end_year}-playoffs' => 'Playoffs',
65
- 'gre-superleague-{end_year}-spiel-um-platz-6' => 'Match 6th Place',
66
- },
67
- season: ->( season ) {
68
- case season
69
- when Season('2020/21') then [1] ## just getting started
70
- when Season('2019/20') then [4,2,3]
71
- when Season('2017/18')..Season('2018/19') then 4
72
- when Season('2013/14')..Season('2016/17') then [4,5]
73
- when Season('2012/13') then [4,5,6]
74
- when Season('2010/11')..Season('2011/12') then [4,5]
75
- end
76
- },
77
- },
78
-
79
-
80
- ## todo/check: add europe southeastern or balkans - why? why not?
81
- # e.g. /cro-1-hnl-2020-2021/
82
- 'hr.1' => { pages: 'cro-1-hnl' },
83
-
84
- })
85
-
86
- end