vaccine-finder 0.1.3 → 0.1.8
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/vaccine-spotter.rb +15 -4
- metadata +8 -112
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c3465825a1ba1cf786cd88c2a0f54cc131befd07e2cad66a649e4b5fac51f5e6
|
4
|
+
data.tar.gz: a5f35ed2c28725a2bac6640f8b4009acaa69b40cda4013292377c77965254647
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e1f8dd4b8b5b58d300ffa94c21a02031c6ecf490e7ac2181db8c0b26d5f355a00ae041af202d29fd79968e16b9a6828d56eaa5fb73e48a52a752e4ef549c9172
|
7
|
+
data.tar.gz: 5688055c52d3e8e430f446b8cbe97b70c68657cd32abaa4c9fa829c79fd6de4076d64277e38a301089caf3148dd56ca04f868c1386bc000bd2bb7db032502e2f
|
data/lib/vaccine-spotter.rb
CHANGED
@@ -26,7 +26,9 @@ if !config.exist?
|
|
26
26
|
puts "It looks like you don't have a configuration file yet. Would you like to create one?"
|
27
27
|
create_config = prompt.yes? "Create `~/.config/vaccine-finder.toml`?"
|
28
28
|
if create_config
|
29
|
-
set_state = prompt.ask("What state would you like to monitor? (Two-letter postal code, please)", required: true)
|
29
|
+
set_state = prompt.ask("What state would you like to monitor? (Two-letter postal code, please)", required: true) do |q|
|
30
|
+
q.modify :up, :remove
|
31
|
+
end
|
30
32
|
config.set(:state, value: set_state)
|
31
33
|
puts "Ok, time to set zip codes…"
|
32
34
|
if prompt.yes? "freemaptools.com has a really helpful tool for getting the zip codes around a radius. Would you like to open it?"
|
@@ -34,6 +36,8 @@ if !config.exist?
|
|
34
36
|
end
|
35
37
|
set_zips = prompt.ask("What zip codes would you like to track? You can paste here from freemaptools.com, if you used it (comma-separated list of integers, please)", convert: :int_list, required: true)
|
36
38
|
config.set(:zips, value: set_zips)
|
39
|
+
set_vaccine_types = prompt.multi_select("Which types of vaccines would you like to include?", %w(pfizer moderna jj unknown), min: 1, show_help: :always)
|
40
|
+
config.set(:vaccine_types, value: set_vaccine_types)
|
37
41
|
set_refresh_rate = prompt.ask("How often should the script check for updates? (seconds)", convert: :int, required: true)
|
38
42
|
config.set(:refresh_rate, value: set_refresh_rate)
|
39
43
|
puts "Perfect; writing to `~/.config/vaccine-finder.toml`…"
|
@@ -44,13 +48,20 @@ end
|
|
44
48
|
zips = config.read["zips"]
|
45
49
|
state = config.read["state"]
|
46
50
|
refresh_rate = config.read["refresh_rate"].to_i
|
51
|
+
vaccine_types = config.read["vaccine_types"]
|
47
52
|
|
48
53
|
puts
|
49
54
|
print pastel.bold "vaccinespotter.org CLI notifier thing"
|
50
|
-
|
55
|
+
begin
|
56
|
+
print " v#{Gem.loaded_specs["vaccine-finder"].version}"
|
57
|
+
rescue
|
58
|
+
print " [error loading version]"
|
59
|
+
end
|
51
60
|
puts pastel.dim ", by Jack MapelLentz (jltml.me)"
|
52
61
|
puts pastel.dim "This script uses the wonderful vaccinespotter.org, by Nick Muerdter (github.com/GUI)"
|
53
62
|
puts "Checking #{pastel.underline zips.length} zip codes in #{pastel.underline state} every #{pastel.underline refresh_rate} seconds"
|
63
|
+
puts "Filtering appointments for #{pastel.underline vaccine_types.to_s.tr("[]\"", "")}"
|
64
|
+
puts pastel.dim "Press control-C to quit"
|
54
65
|
|
55
66
|
excluded = Array.new
|
56
67
|
|
@@ -70,10 +81,10 @@ loop do
|
|
70
81
|
|
71
82
|
parsed_json["features"].each_index do |i|
|
72
83
|
current = parsed_json["features"][i]["properties"]
|
73
|
-
if (current["appointments_available"] == true) and (zips.include?(current["postal_code"].to_i)
|
84
|
+
if (current["appointments_available"] == true) and (zips.include?(current["postal_code"].to_i) and (!excluded.include? current["id"].to_i) and !(vaccine_types & current["appointment_vaccine_types"].keys).empty?)
|
74
85
|
puts "- #{pastel.green.bold current["city"]} #{pastel.green.bold current["provider_brand_name"]}: #{current["url"]}"
|
75
86
|
puts " - #{current["appointment_vaccine_types"]} as of #{Time.parse(current["appointments_last_fetched"]).localtime.strftime("%H:%M:%S")}"
|
76
|
-
TerminalNotifier.notify("#{current["provider_brand_name"]} - #{current["city"]}", :title => "vaccine-
|
87
|
+
TerminalNotifier.notify("#{current["provider_brand_name"]} - #{current["city"]}", :title => "vaccine-finder", :open => "#{current["url"]}")
|
77
88
|
excluded.append current["id"].to_i
|
78
89
|
end
|
79
90
|
end
|
metadata
CHANGED
@@ -1,63 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vaccine-finder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jack MapelLentz
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-04-
|
11
|
+
date: 2021-04-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: example
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.1'
|
20
|
-
- - ">="
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 1.1.4
|
23
|
-
type: :runtime
|
24
|
-
prerelease: false
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
requirements:
|
27
|
-
- - "~>"
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '1.1'
|
30
|
-
- - ">="
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 1.1.4
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: curb
|
35
|
-
requirement: !ruby/object:Gem::Requirement
|
36
|
-
requirements:
|
37
|
-
- - "~>"
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: 0.9.11
|
40
|
-
type: :runtime
|
41
|
-
prerelease: false
|
42
|
-
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
requirements:
|
44
|
-
- - "~>"
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: 0.9.11
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: tty-progressbar
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
-
requirements:
|
51
|
-
- - "~>"
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 0.18.2
|
54
|
-
type: :runtime
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
requirements:
|
58
|
-
- - "~>"
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: 0.18.2
|
61
13
|
- !ruby/object:Gem::Dependency
|
62
14
|
name: tty-logger
|
63
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,20 +38,6 @@ dependencies:
|
|
86
38
|
- - "~>"
|
87
39
|
- !ruby/object:Gem::Version
|
88
40
|
version: 0.23.0
|
89
|
-
- !ruby/object:Gem::Dependency
|
90
|
-
name: tty-spinner
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - "~>"
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: 0.9.3
|
96
|
-
type: :runtime
|
97
|
-
prerelease: false
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - "~>"
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: 0.9.3
|
103
41
|
- !ruby/object:Gem::Dependency
|
104
42
|
name: tty-config
|
105
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,48 +66,6 @@ dependencies:
|
|
128
66
|
- - "~>"
|
129
67
|
- !ruby/object:Gem::Version
|
130
68
|
version: 0.2.0
|
131
|
-
- !ruby/object:Gem::Dependency
|
132
|
-
name: watir
|
133
|
-
requirement: !ruby/object:Gem::Requirement
|
134
|
-
requirements:
|
135
|
-
- - "~>"
|
136
|
-
- !ruby/object:Gem::Version
|
137
|
-
version: '6.19'
|
138
|
-
type: :runtime
|
139
|
-
prerelease: false
|
140
|
-
version_requirements: !ruby/object:Gem::Requirement
|
141
|
-
requirements:
|
142
|
-
- - "~>"
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
version: '6.19'
|
145
|
-
- !ruby/object:Gem::Dependency
|
146
|
-
name: webdrivers
|
147
|
-
requirement: !ruby/object:Gem::Requirement
|
148
|
-
requirements:
|
149
|
-
- - "~>"
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
version: '4.0'
|
152
|
-
type: :runtime
|
153
|
-
prerelease: false
|
154
|
-
version_requirements: !ruby/object:Gem::Requirement
|
155
|
-
requirements:
|
156
|
-
- - "~>"
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
version: '4.0'
|
159
|
-
- !ruby/object:Gem::Dependency
|
160
|
-
name: nokogiri
|
161
|
-
requirement: !ruby/object:Gem::Requirement
|
162
|
-
requirements:
|
163
|
-
- - "~>"
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version: '1.11'
|
166
|
-
type: :runtime
|
167
|
-
prerelease: false
|
168
|
-
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
requirements:
|
170
|
-
- - "~>"
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
version: '1.11'
|
173
69
|
- !ruby/object:Gem::Dependency
|
174
70
|
name: pastel
|
175
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -217,7 +113,7 @@ description: This gem will notify you when COVID-19 vaccine appointments are ava
|
|
217
113
|
pretty much just wraps the very beta API from the absolutely wonderful vaccinespotter.org,
|
218
114
|
though I hope to add my own website scraping soon too so as to improve response
|
219
115
|
times.
|
220
|
-
email:
|
116
|
+
email:
|
221
117
|
executables:
|
222
118
|
- vaccine-finder
|
223
119
|
extensions: []
|
@@ -225,11 +121,11 @@ extra_rdoc_files: []
|
|
225
121
|
files:
|
226
122
|
- bin/vaccine-finder
|
227
123
|
- lib/vaccine-spotter.rb
|
228
|
-
homepage: https://github.com/jltml/
|
124
|
+
homepage: https://github.com/jltml/vaccine-finder
|
229
125
|
licenses:
|
230
126
|
- MIT
|
231
127
|
metadata: {}
|
232
|
-
post_install_message:
|
128
|
+
post_install_message:
|
233
129
|
rdoc_options: []
|
234
130
|
require_paths:
|
235
131
|
- lib
|
@@ -244,8 +140,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
244
140
|
- !ruby/object:Gem::Version
|
245
141
|
version: '0'
|
246
142
|
requirements: []
|
247
|
-
rubygems_version: 3.
|
248
|
-
signing_key:
|
143
|
+
rubygems_version: 3.0.3
|
144
|
+
signing_key:
|
249
145
|
specification_version: 4
|
250
146
|
summary: Get notified of vaccine availability
|
251
147
|
test_files: []
|