kovid 0.4.4 β 0.4.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +16 -5
- data/lib/kovid.rb +4 -0
- data/lib/kovid/cli.rb +7 -0
- data/lib/kovid/request.rb +21 -0
- data/lib/kovid/tablelize.rb +21 -3
- data/lib/kovid/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96bc2442058a29c4830dbebb1baedc428f220b2b20762b150fa1ccd658648d4e
|
4
|
+
data.tar.gz: 11454ce4ed1f2c48778141e886cc8f9a86d8d1a3efb66caaa302f86586a17ec1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45f3d74148f5807f9ef03ec5a4405d9aa337ddb98e7c54e8180fab64c31ce1ff9bc92ed4840f3287514046c926d1ffb5e6982a5048a7ea16e13fe15e3b210a64
|
7
|
+
data.tar.gz: 29654bae42cd1c257b2705554e7b7effd1fdde060bbd31bf3a413a4a120f4ef6187117af84bdba6d16c19b361cfcaa02d0e8013911a8d31922c99b6f0bc427ba
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -29,6 +29,12 @@ You can run `kovid --help` to see the full list of available commands.
|
|
29
29
|
* `kovid check COUNTRY` OR `kovid country COUNTRY`.
|
30
30
|
* `kovid check COUNTRY -f` OR `kovid check COUNTRY --full`.
|
31
31
|
|
32
|
+
π¦π¦π¦
|
33
|
+
|
34
|
+
You can fetch aggregated data on Africa:
|
35
|
+
* `kovid africa`.
|
36
|
+
|
37
|
+
|
32
38
|
πͺπΊπͺπΊπͺπΊ
|
33
39
|
|
34
40
|
You can fetch aggregated EU (all 27 countries combined) data:
|
@@ -42,7 +48,6 @@ You can fetch US state-specific data:
|
|
42
48
|
##### π Upcoming Fetch Features π·ββοΈ
|
43
49
|
|
44
50
|
* `kovid europe` Aggrated stats on Europe
|
45
|
-
* `kovid africa` Aggrated stats on Africa
|
46
51
|
* `kovid asia` Aggrated stats on Asia
|
47
52
|
* `kovid south_america` Aggrated stats on South America
|
48
53
|
___
|
@@ -75,19 +80,19 @@ To fetch basic data on a country run:
|
|
75
80
|
|
76
81
|
`kovid check ghana`. If the location contains spaces: `kovid check "Diamond Princess"`
|
77
82
|
|
78
|
-
![kovid](https://i.gyazo.com/
|
83
|
+
![kovid](https://i.gyazo.com/1d86ba2cd05f215b16c8d1fd13085c6e.png "Covid data.")
|
79
84
|
|
80
85
|
For full table info on a country:
|
81
86
|
|
82
87
|
`kovid check italy -f` OR `kovid check italy --full`
|
83
88
|
|
84
|
-
![kovid](https://i.gyazo.com/
|
89
|
+
![kovid](https://i.gyazo.com/1d9720b9fa2c08fb801f5361fba359bb.png "Covid data.")
|
85
90
|
|
86
91
|
To compare country stats:
|
87
92
|
|
88
|
-
`kovid compare germany poland`
|
93
|
+
`kovid compare germany poland spain`
|
89
94
|
|
90
|
-
![kovid](https://i.gyazo.com/
|
95
|
+
![kovid](https://i.gyazo.com/4100e845fea6936f5c8d21d78617110d.png "Covid data.")
|
91
96
|
|
92
97
|
To compare a countries stats with a full table:
|
93
98
|
|
@@ -107,6 +112,12 @@ To fetch EU data run:
|
|
107
112
|
|
108
113
|
![kovid](https://i.gyazo.com/0a78afae2a5b9d2beb9f2c61dc1d3ac7.png "Covid data.")
|
109
114
|
|
115
|
+
To fetch data on Africa:
|
116
|
+
|
117
|
+
`kovid africa`
|
118
|
+
|
119
|
+
![kovid](https://i.gyazo.com/bc45fa53e2ff688e8a1f759f1bd1b972.png "Covid data.")
|
120
|
+
|
110
121
|
You can check historical statistics by running
|
111
122
|
|
112
123
|
`kovid history italy 7` eg:
|
data/lib/kovid.rb
CHANGED
data/lib/kovid/cli.rb
CHANGED
@@ -59,6 +59,13 @@ module Kovid
|
|
59
59
|
data_source
|
60
60
|
end
|
61
61
|
|
62
|
+
|
63
|
+
desc 'africa', 'Returns aggregated data on Africa.'
|
64
|
+
def africa
|
65
|
+
puts Kovid.africa_aggregate
|
66
|
+
data_source
|
67
|
+
end
|
68
|
+
|
62
69
|
desc 'version', 'Returns version of kovid'
|
63
70
|
def version
|
64
71
|
puts Kovid::VERSION
|
data/lib/kovid/request.rb
CHANGED
@@ -10,6 +10,7 @@ module Kovid
|
|
10
10
|
COUNTRIES_PATH = UriBuilder.new('/countries').url
|
11
11
|
STATES_URL = UriBuilder.new('/states').url
|
12
12
|
EU_ISOS = %w[AT BE BG CY CZ DE DK EE ES FI FR GR HR HU IE IT LT LU LV MT NL PL PT RO SE SI SK].freeze
|
13
|
+
AFRICA_ISOS = %w[DZ AO BJ BW BF BI CM CV CF TD KM CD CG CI DJ EG GQ ER SZ ET GA GM GH GN GW KE LS LR LY MG MW ML MR MU MA MZ NA NE NG RW ST SN SC SL SO ZA SS SD TZ TG TN UG ZM ZW EH].freeze
|
13
14
|
SERVER_DOWN = 'Server overwhelmed. Please try again in a moment.'
|
14
15
|
|
15
16
|
class << self
|
@@ -33,6 +34,26 @@ module Kovid
|
|
33
34
|
puts SERVER_DOWN
|
34
35
|
end
|
35
36
|
|
37
|
+
def africa_aggregate
|
38
|
+
countries_array = JSON.parse(Typhoeus.get(UriBuilder.new('/countries').url, cache_ttl: 900).response_body)
|
39
|
+
|
40
|
+
africa_arry = countries_array.select do |hash|
|
41
|
+
AFRICA_ISOS.include?(hash['countryInfo']['iso2'])
|
42
|
+
end
|
43
|
+
|
44
|
+
head, *tail = africa_arry
|
45
|
+
africa_data = head.merge(*tail) do |key, left, right|
|
46
|
+
left ||= 0
|
47
|
+
right ||= 0
|
48
|
+
|
49
|
+
left + right unless %w[country countryInfo].include?(key)
|
50
|
+
end.compact
|
51
|
+
|
52
|
+
Kovid::Tablelize.africa_aggregate(africa_data)
|
53
|
+
rescue JSON::ParserError
|
54
|
+
puts SERVER_DOWN
|
55
|
+
end
|
56
|
+
|
36
57
|
def by_country(country_name)
|
37
58
|
response = fetch_country(country_name)
|
38
59
|
|
data/lib/kovid/tablelize.rb
CHANGED
@@ -28,7 +28,7 @@ module Kovid
|
|
28
28
|
'Deaths'.paint_red
|
29
29
|
].freeze
|
30
30
|
|
31
|
-
|
31
|
+
CONTINENTAL_AGGREGATE_HEADINGS = [
|
32
32
|
'Cases'.paint_white,
|
33
33
|
'Cases Today'.paint_white,
|
34
34
|
'Deaths'.paint_red,
|
@@ -162,7 +162,6 @@ module Kovid
|
|
162
162
|
check_if_positve(country.fetch('todayDeaths')),
|
163
163
|
comma_delimit(country.fetch('critical')),
|
164
164
|
comma_delimit(country.fetch('casesPerOneMillion'))
|
165
|
-
|
166
165
|
]
|
167
166
|
end
|
168
167
|
|
@@ -285,7 +284,26 @@ module Kovid
|
|
285
284
|
|
286
285
|
Terminal::Table.new(
|
287
286
|
title: 'πͺπΊ' + 8203.chr(Encoding::UTF_8) + ' Aggregated EU (27 States) Data'.upcase,
|
288
|
-
headings:
|
287
|
+
headings: CONTINENTAL_AGGREGATE_HEADINGS,
|
288
|
+
rows: rows
|
289
|
+
)
|
290
|
+
end
|
291
|
+
|
292
|
+
def africa_aggregate(africa_data)
|
293
|
+
rows = []
|
294
|
+
rows << [
|
295
|
+
comma_delimit(africa_data['cases']),
|
296
|
+
check_if_positve(africa_data['todayCases']),
|
297
|
+
comma_delimit(africa_data['deaths']),
|
298
|
+
check_if_positve(africa_data['todayDeaths']),
|
299
|
+
comma_delimit(africa_data['recovered']),
|
300
|
+
comma_delimit(africa_data['active']),
|
301
|
+
comma_delimit(africa_data['critical'])
|
302
|
+
]
|
303
|
+
|
304
|
+
Terminal::Table.new(
|
305
|
+
title: 'Aggregated Data of Africa (55 States)'.upcase,
|
306
|
+
headings: CONTINENTAL_AGGREGATE_HEADINGS,
|
289
307
|
rows: rows
|
290
308
|
)
|
291
309
|
end
|
data/lib/kovid/version.rb
CHANGED