vaccine-finder 0.1.3 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/vaccine-spotter.rb +15 -4
  3. metadata +8 -112
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f5fae609c4bf435a46ff825b2e795c4359ba3678d0e0616a5684a3e44ffdcd20
4
- data.tar.gz: ee01d0311fe5ab387e7aeb9d9e2bc8a35e4abc18521c69504bb832b98451c37b
3
+ metadata.gz: c3465825a1ba1cf786cd88c2a0f54cc131befd07e2cad66a649e4b5fac51f5e6
4
+ data.tar.gz: a5f35ed2c28725a2bac6640f8b4009acaa69b40cda4013292377c77965254647
5
5
  SHA512:
6
- metadata.gz: e9102cc09064f9d2c90a3f243146ef10821fb33b1cc7f2511d5c5ebfd3042a6a4a4201cddaa13a088376fc6c012142fb3280a7b667daa0d457ff381b9eab57e9
7
- data.tar.gz: 2f257011ef7c129f1bb40df978b5efcd38b727b839f66923ac9417a3e6894560f738b0859e598543037c0fe38634bc19861ba9df5bb7a60f54c7097bf10cf2c3
6
+ metadata.gz: e1f8dd4b8b5b58d300ffa94c21a02031c6ecf490e7ac2181db8c0b26d5f355a00ae041af202d29fd79968e16b9a6828d56eaa5fb73e48a52a752e4ef549c9172
7
+ data.tar.gz: 5688055c52d3e8e430f446b8cbe97b70c68657cd32abaa4c9fa829c79fd6de4076d64277e38a301089caf3148dd56ca04f868c1386bc000bd2bb7db032502e2f
@@ -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
- print " v0.1.3"
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) == true) and (!excluded.include? current["id"].to_i) and (current["appointment_vaccine_types"]["pfizer"] == true or current["appointment_vaccine_types"]["unknown"] == true)
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-spotter", :open => "#{current["url"]}")
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.3
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-13 00:00:00.000000000 Z
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/covid-vaccine-finders
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.2.16
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: []