kovid 0.4.4 β 0.4.5
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/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
|
-

|
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
|
-

|
85
90
|
|
86
91
|
To compare country stats:
|
87
92
|
|
88
|
-
`kovid compare germany poland`
|
93
|
+
`kovid compare germany poland spain`
|
89
94
|
|
90
|
-

|
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
|

|
109
114
|
|
115
|
+
To fetch data on Africa:
|
116
|
+
|
117
|
+
`kovid africa`
|
118
|
+
|
119
|
+

|
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