forked from alaingilbert/ogame
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathextractor_v7.go
178 lines (145 loc) · 6.26 KB
/
extractor_v7.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
package ogame
import (
"bytes"
"time"
"github.com/PuerkitoBio/goquery"
"github.com/alaingilbert/clockwork"
)
// ExtractorV7 ...
type ExtractorV7 struct {
ExtractorV6
}
// NewExtractorV7 ...
func NewExtractorV7() *ExtractorV7 {
return &ExtractorV7{}
}
// ExtractDefense ...
func (e ExtractorV7) ExtractDefense(pageHTML []byte) (DefensesInfos, error) {
doc, _ := goquery.NewDocumentFromReader(bytes.NewReader(pageHTML))
return e.ExtractDefenseFromDoc(doc)
}
// ExtractFacilities ...
func (e ExtractorV7) ExtractFacilities(pageHTML []byte) (Facilities, error) {
doc, _ := goquery.NewDocumentFromReader(bytes.NewReader(pageHTML))
return e.ExtractFacilitiesFromDoc(doc)
}
// ExtractResearch ...
func (e ExtractorV7) ExtractResearch(pageHTML []byte) Researches {
doc, _ := goquery.NewDocumentFromReader(bytes.NewReader(pageHTML))
return e.ExtractResearchFromDoc(doc)
}
// ExtractShips ...
func (e ExtractorV7) ExtractShips(pageHTML []byte) (ShipsInfos, error) {
doc, _ := goquery.NewDocumentFromReader(bytes.NewReader(pageHTML))
return e.ExtractShipsFromDoc(doc)
}
// ExtractResourceSettings ...
func (e ExtractorV7) ExtractResourceSettings(pageHTML []byte) (ResourceSettings, error) {
doc, _ := goquery.NewDocumentFromReader(bytes.NewReader(pageHTML))
return e.ExtractResourceSettingsFromDoc(doc)
}
// ExtractCharacterClass ...
func (e ExtractorV7) ExtractCharacterClass(pageHTML []byte) (CharacterClass, error) {
doc, _ := goquery.NewDocumentFromReader(bytes.NewReader(pageHTML))
return e.ExtractCharacterClassFromDoc(doc)
}
// ExtractResourcesBuildings ...
func (e ExtractorV7) ExtractResourcesBuildings(pageHTML []byte) (ResourcesBuildings, error) {
doc, _ := goquery.NewDocumentFromReader(bytes.NewReader(pageHTML))
return e.ExtractResourcesBuildingsFromDoc(doc)
}
// ExtractResourcesDetails ...
func (e ExtractorV7) ExtractResourcesDetails(pageHTML []byte) (out ResourcesDetails, err error) {
return extractResourcesDetailsV7(pageHTML)
}
// ExtractConstructions ...
func (e ExtractorV7) ExtractConstructions(pageHTML []byte) (buildingID ID, buildingCountdown int64, researchID ID, researchCountdown int64) {
return extractConstructionsV7(pageHTML, clockwork.NewRealClock())
}
// ExtractFleet1Ships ...
func (e ExtractorV7) ExtractFleet1Ships(pageHTML []byte) ShipsInfos {
doc, _ := goquery.NewDocumentFromReader(bytes.NewReader(pageHTML))
return e.ExtractFleet1ShipsFromDoc(doc)
}
// ExtractCombatReportMessagesSummary ...
func (e ExtractorV7) ExtractCombatReportMessagesSummary(pageHTML []byte) ([]CombatReportSummary, int64) {
doc, _ := goquery.NewDocumentFromReader(bytes.NewReader(pageHTML))
return e.ExtractCombatReportMessagesFromDoc(doc)
}
// ExtractIPM ...
func (e ExtractorV7) ExtractIPM(pageHTML []byte) (duration, max int64, token string) {
doc, _ := goquery.NewDocumentFromReader(bytes.NewReader(pageHTML))
return e.ExtractIPMFromDoc(doc)
}
// ExtractIPMFromDoc ...
func (e ExtractorV7) ExtractIPMFromDoc(doc *goquery.Document) (duration, max int64, token string) {
return extractIPMFromDocV7(doc)
}
// ExtractEspionageReport ...
func (e ExtractorV7) ExtractEspionageReport(pageHTML []byte, location *time.Location) (EspionageReport, error) {
doc, _ := goquery.NewDocumentFromReader(bytes.NewReader(pageHTML))
return e.ExtractEspionageReportFromDoc(doc, location)
}
// ExtractOverviewProduction extracts ships/defenses (partial) production from the overview page
func (e ExtractorV7) ExtractOverviewProduction(pageHTML []byte) ([]Quantifiable, int64, error) {
doc, _ := goquery.NewDocumentFromReader(bytes.NewRea
7795
der(pageHTML))
shipSumCountdown := e.ExtractOverviewShipSumCountdownFromBytes(pageHTML)
production, err := e.ExtractOverviewProductionFromDoc(doc)
return production, shipSumCountdown, err
}
// ExtractOverviewShipSumCountdownFromBytes ...
func (e ExtractorV7) ExtractOverviewShipSumCountdownFromBytes(pageHTML []byte) int64 {
return extractOverviewShipSumCountdownFromBytesV7(pageHTML)
}
// ExtractOverviewProductionFromDoc extracts ships/defenses (partial) production from the overview page
func (e ExtractorV7) ExtractOverviewProductionFromDoc(doc *goquery.Document) ([]Quantifiable, error) {
return extractOverviewProductionFromDocV7(doc)
}
// ExtractFleet1ShipsFromDoc ...
func (e ExtractorV7) ExtractFleet1ShipsFromDoc(doc *goquery.Document) (s ShipsInfos) {
return extractFleet1ShipsFromDocV7(doc)
}
// ExtractResourceSettingsFromDoc ...
func (e ExtractorV7) ExtractResourceSettingsFromDoc(doc *goquery.Document) (ResourceSettings, error) {
return extractResourceSettingsFromDocV7(doc)
}
// ExtractDefenseFromDoc ...
func (e ExtractorV7) ExtractDefenseFromDoc(doc *goquery.Document) (DefensesInfos, error) {
return extractDefenseFromDocV7(doc)
}
// ExtractFacilitiesFromDoc ...
func (e ExtractorV7) ExtractFacilitiesFromDoc(doc *goquery.Document) (Facilities, error) {
return extractFacilitiesFromDocV7(doc)
}
// ExtractResearchFromDoc ...
func (e ExtractorV7) ExtractResearchFromDoc(doc *goquery.Document) Researches {
return extractResearchFromDocV7(doc)
}
// ExtractShipsFromDoc ...
func (e ExtractorV7) ExtractShipsFromDoc(doc *goquery.Document) (ShipsInfos, error) {
return extractShipsFromDocV7(doc)
}
// ExtractResourcesBuildingsFromDoc ...
func (e ExtractorV7) ExtractResourcesBuildingsFromDoc(doc *goquery.Document) (ResourcesBuildings, error) {
return extractResourcesBuildingsFromDocV7(doc)
}
// ExtractCombatReportMessagesFromDoc ...
func (e ExtractorV7) ExtractCombatReportMessagesFromDoc(doc *goquery.Document) ([]CombatReportSummary, int64) {
return extractCombatReportMessagesFromDocV7(doc)
}
// ExtractEspionageReportFromDoc ...
func (e ExtractorV7) ExtractEspionageReportFromDoc(doc *goquery.Document, location *time.Location) (EspionageReport, error) {
return extractEspionageReportFromDocV7(doc, location)
}
// ExtractCancelBuildingInfos ...
func (e ExtractorV7) ExtractCancelBuildingInfos(pageHTML []byte) (token string, techID, listID int64, err error) {
return extractCancelBuildingInfosV7(pageHTML)
}
// ExtractCancelResearchInfos ...
func (e ExtractorV7) ExtractCancelResearchInfos(pageHTML []byte) (token string, techID, listID int64, err error) {
return extractCancelResearchInfosV7(pageHTML)
}
// ExtractCharacterClassFromDoc ...
func (e ExtractorV7) ExtractCharacterClassFromDoc(doc *goquery.Document) (CharacterClass, error) {
return extractCharacterClassFromDocV7(doc)
}