rsssf 0.0.1 → 0.2.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.
- checksums.yaml +5 -5
- data/{HISTORY.md → CHANGELOG.md} +2 -0
- data/Manifest.txt +9 -1
- data/README.md +193 -7
- data/Rakefile +8 -7
- data/lib/rsssf/convert.rb +495 -0
- data/lib/rsssf/download.rb +151 -0
- data/lib/rsssf/page.rb +320 -0
- data/lib/rsssf/repo.rb +144 -0
- data/lib/rsssf/reports/page.rb +75 -0
- data/lib/rsssf/reports/schedule.rb +163 -0
- data/lib/rsssf/schedule.rb +21 -0
- data/lib/rsssf/utils.rb +56 -0
- data/lib/rsssf/version.rb +4 -6
- data/lib/rsssf.rb +46 -10
- metadata +32 -19
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
|
|
2
|
+
module Rsssf
|
|
3
|
+
|
|
4
|
+
class Schedule
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
# attr_accessor :rounds # track no of rounds - why? why not?
|
|
8
|
+
|
|
9
|
+
def initialize( txt )
|
|
10
|
+
@txt = txt
|
|
11
|
+
|
|
12
|
+
## @rounds = nil # undefined
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def save( path, header: )
|
|
17
|
+
write_text( path, header + @txt )
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
end ## class Schedule
|
|
21
|
+
end ## module Rsssf
|
data/lib/rsssf/utils.rb
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
|
|
2
|
+
module Rsssf
|
|
3
|
+
module Utils
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## move to Page - why? why not?
|
|
7
|
+
|
|
8
|
+
def year_from_file( path )
|
|
9
|
+
extname = File.extname( path )
|
|
10
|
+
basename = File.basename( path, extname ) ## e.g. duit92.txt or duit92.html => duit92
|
|
11
|
+
year_from_name( basename )
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def year_from_name( name )
|
|
16
|
+
if name =~ /(\d+)/
|
|
17
|
+
digits = $1.to_s
|
|
18
|
+
num = digits.to_i
|
|
19
|
+
|
|
20
|
+
if digits.size == 4 ## e.g. 1980 or 2011 etc.
|
|
21
|
+
num
|
|
22
|
+
elsif digits.size == 2 ## e.g. 00, 20 or 99 etc.
|
|
23
|
+
if num <= 16 ## assume 20xx for now from 00..16
|
|
24
|
+
2000+num
|
|
25
|
+
else ## assume 19xx for now
|
|
26
|
+
1900+num
|
|
27
|
+
end
|
|
28
|
+
else
|
|
29
|
+
fail( "no year found in name #{name}; expected two or four digits")
|
|
30
|
+
end
|
|
31
|
+
else
|
|
32
|
+
fail( "no year found in name #{name}")
|
|
33
|
+
end
|
|
34
|
+
end # method year_from_name
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def archive_dir_for_season( season )
|
|
39
|
+
season = Season( season )
|
|
40
|
+
|
|
41
|
+
if season < Season('2010') # e.g. season 2009-10
|
|
42
|
+
## use archive folder (w/ 1980s etc)
|
|
43
|
+
## get decade folder
|
|
44
|
+
decade = season.start_year ## 1999/2000 2000
|
|
45
|
+
decade -= decade % 10 ## turn 1987 into 1980 etc
|
|
46
|
+
"archive/#{decade}s/#{season.to_path}"
|
|
47
|
+
else
|
|
48
|
+
season.to_path
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
end # module Utils
|
|
55
|
+
end # module Rsssf
|
|
56
|
+
|
data/lib/rsssf/version.rb
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
1
|
|
|
4
2
|
module Rsssf
|
|
5
3
|
|
|
6
4
|
MAJOR = 0
|
|
7
|
-
MINOR =
|
|
8
|
-
PATCH =
|
|
5
|
+
MINOR = 2
|
|
6
|
+
PATCH = 0
|
|
9
7
|
VERSION = [MAJOR,MINOR,PATCH].join('.')
|
|
10
8
|
|
|
11
9
|
def self.version
|
|
@@ -13,11 +11,11 @@ module Rsssf
|
|
|
13
11
|
end
|
|
14
12
|
|
|
15
13
|
def self.banner
|
|
16
|
-
"rsssf/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
|
|
14
|
+
"rsssf/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}] in (#{root})"
|
|
17
15
|
end
|
|
18
16
|
|
|
19
17
|
def self.root
|
|
20
|
-
|
|
18
|
+
File.expand_path( File.dirname(File.dirname(File.dirname(__FILE__))) )
|
|
21
19
|
end
|
|
22
20
|
|
|
23
21
|
end # module Rsssf
|
data/lib/rsssf.rb
CHANGED
|
@@ -1,21 +1,57 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
1
|
|
|
3
|
-
##
|
|
4
|
-
require '
|
|
5
|
-
require '
|
|
6
|
-
|
|
2
|
+
## 3rd party (our own)
|
|
3
|
+
require 'season/formats' ## add season support
|
|
4
|
+
require 'webget' ## incl. webget, webcache, webclient, etc.
|
|
5
|
+
|
|
6
|
+
require 'cocos'
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## (old) 3rd party libs
|
|
10
|
+
## require 'textutils' ## used for File.read_utf8 etc.
|
|
11
|
+
## require 'fetcher' ## used for Fetcher::Worker.new.fetch etc.
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
#######
|
|
15
|
+
## add RsssfParser too
|
|
16
|
+
require 'rsssf/parser' ## from rsssf-parser gem
|
|
7
17
|
|
|
8
18
|
|
|
9
|
-
## 3rd party libs
|
|
10
|
-
require 'textutils' ## used for File.read_utf8 etc.
|
|
11
|
-
require 'fetcher' ## used for Fetcher::Worker.new.fetch etc.
|
|
12
19
|
|
|
13
20
|
|
|
14
21
|
## our own code
|
|
15
|
-
|
|
22
|
+
require_relative 'rsssf/version' # note: let version always go first
|
|
23
|
+
|
|
24
|
+
require_relative 'rsssf/utils' # include Utils - goes first
|
|
25
|
+
|
|
26
|
+
require_relative 'rsssf/download'
|
|
27
|
+
|
|
28
|
+
require_relative 'rsssf/convert'
|
|
29
|
+
require_relative 'rsssf/page'
|
|
30
|
+
require_relative 'rsssf/schedule'
|
|
31
|
+
|
|
32
|
+
require_relative 'rsssf/reports/schedule'
|
|
33
|
+
require_relative 'rsssf/reports/page'
|
|
34
|
+
|
|
35
|
+
require_relative 'rsssf/repo'
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
#############
|
|
41
|
+
## add (shortcut) alias(es)
|
|
42
|
+
RsssfPage = Rsssf::Page
|
|
43
|
+
RsssfPageConverter = Rsssf::PageConverter
|
|
44
|
+
RsssfPageStat = Rsssf::PageStat
|
|
45
|
+
RsssfPageReport = Rsssf::PageReport
|
|
46
|
+
|
|
47
|
+
RsssfSchedule = Rsssf::Schedule
|
|
48
|
+
RsssfScheduleStat = Rsssf::ScheduleStat
|
|
49
|
+
RsssfScheduleReport = Rsssf::ScheduleReport
|
|
16
50
|
|
|
51
|
+
RsssfRepo = Rsssf::Repo
|
|
52
|
+
RsssfUtils = Rsssf::Utils
|
|
17
53
|
|
|
18
54
|
|
|
19
55
|
|
|
20
56
|
## say hello
|
|
21
|
-
puts Rsssf.banner if defined?($RUBYLIBS_DEBUG) && $RUBYLIBS_DEBUG
|
|
57
|
+
puts Rsssf.banner ## if defined?($RUBYLIBS_DEBUG) && $RUBYLIBS_DEBUG
|
metadata
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rsssf
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Gerald Bauer
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2024-07-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: cocos
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
@@ -25,7 +25,7 @@ dependencies:
|
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
28
|
+
name: season-formats
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - ">="
|
|
@@ -39,7 +39,7 @@ dependencies:
|
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
42
|
+
name: rsssf-parser
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - ">="
|
|
@@ -56,51 +56,65 @@ dependencies:
|
|
|
56
56
|
name: rdoc
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
|
-
- - "
|
|
59
|
+
- - ">="
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
61
|
version: '4.0'
|
|
62
|
+
- - "<"
|
|
63
|
+
- !ruby/object:Gem::Version
|
|
64
|
+
version: '7'
|
|
62
65
|
type: :development
|
|
63
66
|
prerelease: false
|
|
64
67
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
68
|
requirements:
|
|
66
|
-
- - "
|
|
69
|
+
- - ">="
|
|
67
70
|
- !ruby/object:Gem::Version
|
|
68
71
|
version: '4.0'
|
|
72
|
+
- - "<"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '7'
|
|
69
75
|
- !ruby/object:Gem::Dependency
|
|
70
76
|
name: hoe
|
|
71
77
|
requirement: !ruby/object:Gem::Requirement
|
|
72
78
|
requirements:
|
|
73
79
|
- - "~>"
|
|
74
80
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '
|
|
81
|
+
version: '4.1'
|
|
76
82
|
type: :development
|
|
77
83
|
prerelease: false
|
|
78
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
85
|
requirements:
|
|
80
86
|
- - "~>"
|
|
81
87
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
88
|
+
version: '4.1'
|
|
83
89
|
description: rsssf - tools 'n' scripts for RSSSF (Rec.Sport.Soccer Statistics Foundation)
|
|
84
90
|
archive data
|
|
85
|
-
email:
|
|
91
|
+
email: gerald.bauer@gmail.com
|
|
86
92
|
executables: []
|
|
87
93
|
extensions: []
|
|
88
94
|
extra_rdoc_files:
|
|
89
|
-
-
|
|
95
|
+
- CHANGELOG.md
|
|
90
96
|
- Manifest.txt
|
|
91
97
|
- README.md
|
|
92
98
|
files:
|
|
93
|
-
-
|
|
99
|
+
- CHANGELOG.md
|
|
94
100
|
- Manifest.txt
|
|
95
101
|
- README.md
|
|
96
102
|
- Rakefile
|
|
97
103
|
- lib/rsssf.rb
|
|
104
|
+
- lib/rsssf/convert.rb
|
|
105
|
+
- lib/rsssf/download.rb
|
|
106
|
+
- lib/rsssf/page.rb
|
|
107
|
+
- lib/rsssf/repo.rb
|
|
108
|
+
- lib/rsssf/reports/page.rb
|
|
109
|
+
- lib/rsssf/reports/schedule.rb
|
|
110
|
+
- lib/rsssf/schedule.rb
|
|
111
|
+
- lib/rsssf/utils.rb
|
|
98
112
|
- lib/rsssf/version.rb
|
|
99
|
-
homepage: https://github.com/sportdb/
|
|
113
|
+
homepage: https://github.com/sportdb/sport.db.sources
|
|
100
114
|
licenses:
|
|
101
115
|
- Public Domain
|
|
102
116
|
metadata: {}
|
|
103
|
-
post_install_message:
|
|
117
|
+
post_install_message:
|
|
104
118
|
rdoc_options:
|
|
105
119
|
- "--main"
|
|
106
120
|
- README.md
|
|
@@ -110,16 +124,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
110
124
|
requirements:
|
|
111
125
|
- - ">="
|
|
112
126
|
- !ruby/object:Gem::Version
|
|
113
|
-
version:
|
|
127
|
+
version: 2.2.2
|
|
114
128
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
115
129
|
requirements:
|
|
116
130
|
- - ">="
|
|
117
131
|
- !ruby/object:Gem::Version
|
|
118
132
|
version: '0'
|
|
119
133
|
requirements: []
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
signing_key:
|
|
134
|
+
rubygems_version: 3.4.10
|
|
135
|
+
signing_key:
|
|
123
136
|
specification_version: 4
|
|
124
137
|
summary: rsssf - tools 'n' scripts for RSSSF (Rec.Sport.Soccer Statistics Foundation)
|
|
125
138
|
archive data
|