forked from ajstarks/conditions
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplanner.go
206 lines (180 loc) · 5.68 KB
/
planner.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
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
/*
* history.go
*
* This file is part of wu. It contains functions related to
* the --planner switch (travel planner based on historical data).
*
* Written and maintained by Stephen Ramsay <[email protected]>
* and Anthony Starks.
*
* Last Modified: Wed Dec 18 16:11:55 CST 2013
*
* Copyright © 2010-2014 by Stephen Ramsay and Anthony Starks.
*
* wu is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3, or (at your option)
* any later version.
*
* wu is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* You should have received a copy of the GNU General Public License
* along with wu; see the file COPYING. If not see
* <http://www.gnu.org/licenses/>.
*/
package main
import (
"fmt"
"os"
)
type PlannerConditions struct {
Trip Trip
}
type Trip struct {
Title string
Airport_code string
Error string
Chance_of Chance_of
}
type Chance_of struct {
Tempoversixty Tempoversixty
Chanceofwindyday Chanceofwindyday
Chanceofsunnycloudyday Chanceofsunnycloudyday
Chanceofprecip Chanceofprecip
Chanceofrainday Chanceofrainday
Chanceofpartlycloudyday Chanceofpartlycloudyday
Chanceofthunderday Chanceofthunderday
Chanceofhumidday Chanceofhumidday
Chanceofcloudyday Chanceofcloudyday
Tempoverfreezing Tempoverfreezing
Tempoverninety Tempoverninety
Chanceoffogday Chanceoffogday
Chanceofsnowonground Chanceofsnowonground
Chanceoftornadoday Chanceoftornadoday
Chanceofsultryday Chanceofsultryday
Tempbelowfreezing Tempbelowfreezing
Chanceofhailday Chanceofhailday
Chanceofsnowday Chanceofsnowday
}
type Tempoversixty struct {
Name string
Description string
Percentage string
}
type Chanceofwindyday struct {
Name string
Description string
Percentage string
}
type Chanceofsunnycloudyday struct {
Name string
Description string
Percentage string
}
type Chanceofprecip struct {
Name string
Description string
Percentage string
}
type Chanceofrainday struct {
Name string
Description string
Percentage string
}
type Chanceofpartlycloudyday struct {
Name string
Description string
Percentage string
}
type Chanceofthunderday struct {
Name string
Description string
Percentage string
}
type Chanceofhumidday struct {
Name string
Description string
Percentage string
}
type Chanceofcloudyday struct {
Name string
Description string
Percentage string
}
type Tempoverfreezing struct {
Name string
Description string
Percentage string
}
type Tempoverninety struct {
Name string
Description string
Percentage string
}
type Chanceoffogday struct {
Name string
Description string
Percentage string
}
type Chanceofsnowonground struct {
Name string
Description string
Percentage string
}
type Chanceoftornadoday struct {
Name string
Description string
Percentage string
}
type Chanceofsultryday struct {
Name string
Description string
Percentage string
}
type Tempbelowfreezing struct {
Name string
Description string
Percentage string
}
type Chanceofhailday struct {
Name string
Description string
Percentage string
}
type Chanceofsnowday struct {
Name string
Description string
Percentage string
}
func PrintPlanner(obs *PlannerConditions, stationId string) {
if obs.Trip.Error != "" {
fmt.Println(obs.Trip.Error)
os.Exit(0)
}
planner := obs.Trip.Chance_of
fmt.Println(obs.Trip.Title)
fmt.Println("Station: " + obs.Trip.Airport_code)
fmt.Println("Chance of: ")
fmt.Println(" Temps:")
fmt.Printf(" Over 90 F (32 C): %s%%\n", planner.Tempoverninety.Percentage)
fmt.Printf(" Between 60 F (15 C) and 90 F (32 C): %s%%\n", planner.Tempoversixty.Percentage)
fmt.Printf(" Between 32 F (0 C) and 60 (16 C): %s%%\n", planner.Tempoversixty.Percentage)
fmt.Printf(" Below 32 F (0 C): %s%%\n", planner.Tempbelowfreezing.Percentage)
fmt.Printf(" Dewpoint above 70 F (21 C): %s%%\n", planner.Chanceofsultryday.Percentage)
fmt.Printf(" Dewpoint above 60 F (15 C): %s%%\n", planner.Chanceofhumidday.Percentage)
fmt.Printf(" Winds over 10 mph (15 km/h): %s%%\n", planner.Chanceofwindyday.Percentage)
fmt.Printf(" %s day: %s%%\n", planner.Chanceofsunnycloudyday.Name, planner.Chanceofsunnycloudyday.Percentage)
fmt.Printf(" %s day: %s%%\n", planner.Chanceofcloudyday.Name, planner.Chanceofcloudyday.Percentage)
fmt.Printf(" %s day: %s%%\n", planner.Chanceofpartlycloudyday.Name, planner.Chanceofpartlycloudyday.Percentage)
fmt.Printf(" %s: %s%%\n", planner.Chanceofprecip.Name, planner.Chanceofprecip.Percentage)
fmt.Printf(" %s: %s%%\n", planner.Chanceoffogday.Name, planner.Chanceoffogday.Percentage)
fmt.Printf(" %s: %s%%\n", planner.Chanceofrainday.Name, planner.Chanceofrainday.Percentage)
fmt.Printf(" %s: %s%%\n", planner.Chanceofthunderday.Name, planner.Chanceofthunderday.Percentage)
fmt.Printf(" %s: %s%%\n", planner.Chanceoftornadoday.Name, planner.Chanceoftornadoday.Percentage)
fmt.Printf(" %s: %s%%\n", planner.Chanceofhailday.Name, planner.Chanceofhailday.Percentage)
fmt.Printf(" %s: %s%%\n", planner.Chanceofsnowday.Name, planner.Chanceofsnowday.Percentage)
fmt.Printf(" %s: %s%%\n", planner.Chanceofsnowonground.Name, planner.Chanceofsnowonground.Percentage)
}