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.
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: []