sportdb-readers 2.1.0 → 2.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 +4 -4
- data/CHANGELOG.md +1 -1
- data/lib/sportdb/readers/match_reader.rb +6 -16
- data/lib/sportdb/readers/sync/match.rb +9 -40
- data/lib/sportdb/readers/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5e288d917f0333c7d12ae67eac1c8f16eeb6499cb40b9b4d6e40b45d3e617dc1
|
4
|
+
data.tar.gz: 1eb4d7e7cbf14e67141edc1043cf64cb2f3bb77fdaf1532f4f7017e95df2adaf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ad5a423fb07514b374aae88cb7e858446ed75131c1aa9530b4037e521c3a8b3be9b7746cc3a13cb1010e1fa76f002f8b968858145ee593cb53f90eff28e3ef0
|
7
|
+
data.tar.gz: 19d85196f34037b618d1bbb560cc5f2b42cc4d2d006f60b7428d7bb1d72b4dc770f7c9ae2ac0f86d01eea307d36eb80bf5e4ae0511df8c5f55692c4b306e3f2c
|
data/CHANGELOG.md
CHANGED
@@ -9,16 +9,6 @@ module SportDb
|
|
9
9
|
class MatchReader ## todo/check: rename to MatchReaderV2 (use plural?) why? why not?
|
10
10
|
|
11
11
|
|
12
|
-
### fix - remove catalog reference!!!
|
13
|
-
## use classes with "augmented" static methods
|
14
|
-
## e.g. Club.match_by etc.
|
15
|
-
def catalog
|
16
|
-
puts "[deprecated] do NOT use catalog reference; use classes with enhanced search static methods!"
|
17
|
-
Import.catalog
|
18
|
-
end
|
19
|
-
|
20
|
-
|
21
|
-
|
22
12
|
def self.read( path, season: nil ) ## use - rename to read_file or from_file etc. - why? why not?
|
23
13
|
txt = File.open( path, 'r:utf-8' ) {|f| f.read }
|
24
14
|
parse( txt, season: season )
|
@@ -73,8 +63,8 @@ class MatchReader ## todo/check: rename to MatchReaderV2 (use plural?) why? w
|
|
73
63
|
|
74
64
|
### check if event info available - use start_date;
|
75
65
|
## otherwise we have to guess (use a "synthetic" start_date)
|
76
|
-
event_info =
|
77
|
-
|
66
|
+
event_info = Import::EventInfo.find_by( season: season,
|
67
|
+
league: league )
|
78
68
|
|
79
69
|
start = if event_info && event_info.start_date
|
80
70
|
puts "event info found:"
|
@@ -116,8 +106,8 @@ class MatchReader ## todo/check: rename to MatchReaderV2 (use plural?) why? w
|
|
116
106
|
puts "league:"
|
117
107
|
pp league
|
118
108
|
|
119
|
-
teams =
|
120
|
-
|
109
|
+
teams = Import::Team.find_by!( name: auto_conf_teams,
|
110
|
+
league: league )
|
121
111
|
|
122
112
|
puts " [debug] teams:"
|
123
113
|
pp teams
|
@@ -213,8 +203,8 @@ class MatchReader ## todo/check: rename to MatchReaderV2 (use plural?) why? w
|
|
213
203
|
|
214
204
|
matches.each do |match|
|
215
205
|
## note: pass along stage (if present): stage - optional from heading!!!!
|
216
|
-
match = match.update( stage: stage )
|
217
|
-
match_rec = Sync::Match.
|
206
|
+
match = match.update( stage: stage ) if stage
|
207
|
+
match_rec = Sync::Match.create!( match, event: event_rec )
|
218
208
|
end
|
219
209
|
end
|
220
210
|
|
@@ -2,10 +2,7 @@ module SportDb
|
|
2
2
|
module Sync
|
3
3
|
|
4
4
|
class Match
|
5
|
-
|
6
|
-
## use update_by_round or update_by_date or update_by_teams or such
|
7
|
-
## NO easy (unique always auto-id match) possible!!!!!!
|
8
|
-
def self.create_or_update( match, event: )
|
5
|
+
def self.create!( match, event: )
|
9
6
|
## note: MUST find round, thus, use bang (!)
|
10
7
|
|
11
8
|
## todo/check: allow strings too - why? why not?
|
@@ -36,10 +33,11 @@ module Sync
|
|
36
33
|
## || Team.find_or_create( team1 ) -- note: does NOT work for string (only recs) - what to do?
|
37
34
|
## || Model::Team.find_by!( name: team1_name )
|
38
35
|
team1_name = match.team1.is_a?( String ) ? match.team1 : match.team1.name
|
39
|
-
team1_rec = Team.cache[ team1_name ]
|
40
36
|
team2_name = match.team2.is_a?( String ) ? match.team2 : match.team2.name
|
37
|
+
team1_rec = Team.cache[ team1_name ]
|
41
38
|
team2_rec = Team.cache[ team2_name ]
|
42
39
|
|
40
|
+
|
43
41
|
## check optional group (e.g. Group A, etc.)
|
44
42
|
group_rec = if match.group
|
45
43
|
group_name = match.group.is_a?( String ) ? match.group : match.group.name
|
@@ -58,30 +56,10 @@ module Sync
|
|
58
56
|
nil
|
59
57
|
end
|
60
58
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
## check for date or such - why? why not?
|
66
|
-
nil
|
67
|
-
elsif round_rec
|
68
|
-
## add match status too? allows [abandoned] and [replay] in same round
|
69
|
-
find_attributes = { round_id: round_rec.id,
|
70
|
-
team1_id: team1_rec.id,
|
71
|
-
team2_id: team2_rec.id }
|
72
|
-
|
73
|
-
## add stage if present to query
|
74
|
-
find_attributes[ :stage_id] = stage_rec.id if stage_rec
|
75
|
-
|
76
|
-
Model::Match.find_by( find_attributes )
|
77
|
-
else
|
78
|
-
## always assume new record for now
|
79
|
-
## check for date or such - why? why not?
|
80
|
-
nil
|
81
|
-
end
|
82
|
-
|
83
|
-
if rec.nil?
|
84
|
-
## find last pos - check if it can be nil? yes, is nil if no records found
|
59
|
+
|
60
|
+
rec = nil ## match record
|
61
|
+
|
62
|
+
## find last pos - check if it can be nil? yes, is nil if no records found
|
85
63
|
max_pos = Model::Match.where( event_id: event.id ).maximum( 'pos' )
|
86
64
|
max_pos = max_pos ? max_pos+1 : 1
|
87
65
|
|
@@ -90,7 +68,6 @@ module Sync
|
|
90
68
|
team2_id: team2_rec.id,
|
91
69
|
pos: max_pos,
|
92
70
|
num: match.num, ## note - might be nil (not nil for euro, world cup, etc.)
|
93
|
-
# date: match.date.to_date, ## todo/fix: split and add date & time!!!!
|
94
71
|
date: match.date, # assume iso format as string e.g. 2021-07-10 !!!
|
95
72
|
time: match.time, # assume iso format as string e.g. 21:00 !!!
|
96
73
|
score1: match.score1,
|
@@ -136,16 +113,8 @@ module Sync
|
|
136
113
|
)
|
137
114
|
end
|
138
115
|
end
|
139
|
-
|
140
|
-
|
141
|
-
puts "!! ERROR - match updates not yet supported (only inserts); sorry"
|
142
|
-
pp match
|
143
|
-
puts "---"
|
144
|
-
puts "found match record:"
|
145
|
-
pp rec
|
146
|
-
exit 1
|
147
|
-
end
|
148
|
-
rec
|
116
|
+
|
117
|
+
rec
|
149
118
|
end
|
150
119
|
end # class Match
|
151
120
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sportdb-readers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-09-
|
11
|
+
date: 2024-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sportdb-formats
|