lita-onewheel-aqi 0.2.2 → 1.0.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/lib/lita/handlers/onewheel_aqi.rb +4 -26
- data/lita-onewheel-aqi.gemspec +2 -2
- data/spec/lita/handlers/onewheel_aqi_spec.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ee27af471c241b1c0447e1f9b79801575ecdf41
|
4
|
+
data.tar.gz: 6de061db874e5abb3d21b07ba9e0954f215f56b8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1974772b9eedf6d118c58e5d6f79f6ccc2f086b36274215dd25f08031ae518f427c7ec3e6b85cc6092c2a42e0abae2c4ad15ab20977bb3c80712e15b37df38d9
|
7
|
+
data.tar.gz: 7db2c3b9952cea643791290a0b10c4814b76f50cef3e27e262f4890e88fb4da17f5cd9a08be4e7a33a6ae19303b4325046778fc4cb8db12a948e4472309241a3
|
@@ -50,35 +50,17 @@ module Lita
|
|
50
50
|
loc = geo_lookup(location)
|
51
51
|
puts loc.inspect
|
52
52
|
|
53
|
-
|
54
|
-
|
55
|
-
longitude: loc[:lng],
|
56
|
-
api_key: config.api_key,
|
57
|
-
format: 'application/json'
|
58
|
-
}
|
59
|
-
|
60
|
-
query_string = (parameters.map { |k, v| "#{k}=#{v}" }).join '&'
|
61
|
-
uri = 'http://airnowapi.org/aq/forecast/latLong/?' + query_string
|
53
|
+
api_key = 'd4d71949d26fcaa48783808fdba32fbdc8d367eb'
|
54
|
+
uri = "http://api.waqi.info/feed/geo:#{loc[:lat]};#{loc[:lng]}/?token=#{api_key}"
|
62
55
|
Lita.logger.debug "Getting aqi from #{uri}"
|
63
56
|
# forecast_response = RestClient.get(uri)
|
64
57
|
# forecasted_aqi = JSON.parse(forecast_response)
|
65
58
|
# Lita.logger.debug 'Forecast response: ' + forecasted_aqi.inspect
|
66
59
|
|
67
|
-
uri = 'http://airnowapi.org/aq/observation/latLong/current/?' + query_string
|
68
|
-
Lita.logger.debug "Getting aqi observed from #{uri}"
|
69
60
|
observed_response = RestClient.get(uri)
|
70
61
|
observed_aqi = JSON.parse(observed_response)
|
71
62
|
Lita.logger.debug 'Observed response: ' + observed_aqi.inspect
|
72
63
|
|
73
|
-
if observed_aqi.nil? # forecasted_aqi.nil? and
|
74
|
-
response.reply "No AQI data for #{loc[:name]}."
|
75
|
-
Lita.logger.info "No data found for #{response.matches[0][0]}"
|
76
|
-
return
|
77
|
-
end
|
78
|
-
|
79
|
-
# [{"DateObserved":"2015-08-23 ","HourObserved":14,"LocalTimeZone":"PST","ReportingArea":"Portland","StateCode":"OR","Latitude":45.538,"Longitude":-122.656,"ParameterName":"O3","AQI":49,"Category":{"Number":1,"Name":"Good"}},{"DateObserved":"2015-08-23 ","HourObserved":14,"LocalTimeZone":"PST","ReportingArea":"Portland","StateCode":"OR","Latitude":45.538,"Longitude":-122.656,"ParameterName":"PM2.5","AQI":167,"Category":{"Number":4,"Name":"Unhealthy"}}]
|
80
|
-
# todo: extract today's forecast, not tomorrow's.
|
81
|
-
# forecasted_aqi = extract_pmtwofive(forecasted_aqi)
|
82
64
|
observed_aqi = extract_pmtwofive(observed_aqi)
|
83
65
|
|
84
66
|
reply = "AQI for #{loc[:name]}, "
|
@@ -86,7 +68,7 @@ module Lita
|
|
86
68
|
# reply += "Forecasted: #{(forecasted_aqi['ActionDay'] == 'true')? 'Action Day! ' : ''}#{forecasted_aqi['AQI']} #{forecasted_aqi['Category']['Name']} "
|
87
69
|
# end
|
88
70
|
unless observed_aqi == []
|
89
|
-
reply += "Observed: #{color_str(observed_aqi
|
71
|
+
reply += "Observed: #{color_str(observed_aqi)}"
|
90
72
|
end
|
91
73
|
response.reply reply
|
92
74
|
end
|
@@ -102,11 +84,7 @@ module Lita
|
|
102
84
|
end
|
103
85
|
|
104
86
|
def extract_pmtwofive(aqi)
|
105
|
-
|
106
|
-
aqi.each do |a|
|
107
|
-
returned_aqi = a if a['ParameterName'] == 'PM2.5'
|
108
|
-
end
|
109
|
-
returned_aqi
|
87
|
+
aqi['data']['iaqi']['pm25']['v']
|
110
88
|
end
|
111
89
|
|
112
90
|
# Geographical stuffs
|
data/lita-onewheel-aqi.gemspec
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = 'lita-onewheel-aqi'
|
3
|
-
spec.version = '0.
|
3
|
+
spec.version = '1.0.0'
|
4
4
|
spec.authors = ['Andrew Kreps']
|
5
5
|
spec.email = ['andrew.kreps@gmail.com']
|
6
6
|
spec.description = 'AQI data retrieval bot'
|
7
|
-
spec.summary = 'Reads the current AQI from
|
7
|
+
spec.summary = 'Reads the current AQI from aqicn.org and displays it.'
|
8
8
|
spec.homepage = 'https://github.com/onewheelskyward/lita-onewheel-aqi'
|
9
9
|
spec.license = 'MIT'
|
10
10
|
spec.metadata = { 'lita_plugin_type' => 'handler'}
|
@@ -29,6 +29,6 @@ describe Lita::Handlers::OnewheelAqi, lita_handler: true do
|
|
29
29
|
|
30
30
|
it 'queries the aqi' do
|
31
31
|
send_command 'aqi'
|
32
|
-
expect(replies.last).to include("AQI for Portland, OR, USA, Observed: \
|
32
|
+
expect(replies.last).to include("AQI for Portland, OR, USA, Observed: \u00030876\u0003")
|
33
33
|
end
|
34
34
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lita-onewheel-aqi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kreps
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-08-
|
11
|
+
date: 2017-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lita
|
@@ -177,7 +177,7 @@ rubyforge_project:
|
|
177
177
|
rubygems_version: 2.6.11
|
178
178
|
signing_key:
|
179
179
|
specification_version: 4
|
180
|
-
summary: Reads the current AQI from
|
180
|
+
summary: Reads the current AQI from aqicn.org and displays it.
|
181
181
|
test_files:
|
182
182
|
- spec/lita/handlers/onewheel_aqi_spec.rb
|
183
183
|
- spec/spec_helper.rb
|