football-sources 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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