vaccine-finder 0.1.5 → 0.1.6
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 +12 -3
- metadata +2 -86
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a187388b1258758a327889d2f96caa03a556fb47d214949b95820c94c45688e
|
4
|
+
data.tar.gz: acd1c9d122f6d439cb54fabd899f0f08999dd27126d0b0e105e26d4c2758aa33
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: caedff51086f38ae541335fb0e36f13f2fd56757a53cbaa2162c6bd132cb889bd89e265770bb768f8307be454c959a66093b65e4b4286575c3d474bc1e8ca9bd
|
7
|
+
data.tar.gz: 8fcfc7c63335005064837a1ab85059bbcdc6dc8457e0584746c192670781387ba90d49aa12419c51e33d833763e1361a91ecacce7bb55075473026a989ede904
|
data/lib/vaccine-spotter.rb
CHANGED
@@ -36,6 +36,8 @@ if !config.exist?
|
|
36
36
|
end
|
37
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)
|
38
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)
|
39
41
|
set_refresh_rate = prompt.ask("How often should the script check for updates? (seconds)", convert: :int, required: true)
|
40
42
|
config.set(:refresh_rate, value: set_refresh_rate)
|
41
43
|
puts "Perfect; writing to `~/.config/vaccine-finder.toml`…"
|
@@ -46,13 +48,20 @@ end
|
|
46
48
|
zips = config.read["zips"]
|
47
49
|
state = config.read["state"]
|
48
50
|
refresh_rate = config.read["refresh_rate"].to_i
|
51
|
+
vaccine_types = config.read["vaccine_types"]
|
49
52
|
|
50
53
|
puts
|
51
54
|
print pastel.bold "vaccinespotter.org CLI notifier thing"
|
52
|
-
|
55
|
+
begin
|
56
|
+
print " v#{Gem.loaded_specs["vaccine-finder"].version}"
|
57
|
+
rescue
|
58
|
+
print " [error loading version]"
|
59
|
+
end
|
53
60
|
puts pastel.dim ", by Jack MapelLentz (jltml.me)"
|
54
61
|
puts pastel.dim "This script uses the wonderful vaccinespotter.org, by Nick Muerdter (github.com/GUI)"
|
55
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"
|
56
65
|
|
57
66
|
excluded = Array.new
|
58
67
|
|
@@ -72,10 +81,10 @@ loop do
|
|
72
81
|
|
73
82
|
parsed_json["features"].each_index do |i|
|
74
83
|
current = parsed_json["features"][i]["properties"]
|
75
|
-
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?)
|
76
85
|
puts "- #{pastel.green.bold current["city"]} #{pastel.green.bold current["provider_brand_name"]}: #{current["url"]}"
|
77
86
|
puts " - #{current["appointment_vaccine_types"]} as of #{Time.parse(current["appointments_last_fetched"]).localtime.strftime("%H:%M:%S")}"
|
78
|
-
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"]}")
|
79
88
|
excluded.append current["id"].to_i
|
80
89
|
end
|
81
90
|
end
|
metadata
CHANGED
@@ -1,43 +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.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jack MapelLentz
|
8
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: curb
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 0.9.11
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 0.9.11
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: tty-progressbar
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 0.18.2
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 0.18.2
|
41
13
|
- !ruby/object:Gem::Dependency
|
42
14
|
name: tty-logger
|
43
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,20 +38,6 @@ dependencies:
|
|
66
38
|
- - "~>"
|
67
39
|
- !ruby/object:Gem::Version
|
68
40
|
version: 0.23.0
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: tty-spinner
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 0.9.3
|
76
|
-
type: :runtime
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 0.9.3
|
83
41
|
- !ruby/object:Gem::Dependency
|
84
42
|
name: tty-config
|
85
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,48 +66,6 @@ dependencies:
|
|
108
66
|
- - "~>"
|
109
67
|
- !ruby/object:Gem::Version
|
110
68
|
version: 0.2.0
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: watir
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - "~>"
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '6.19'
|
118
|
-
type: :runtime
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - "~>"
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '6.19'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: webdrivers
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '4.0'
|
132
|
-
type: :runtime
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '4.0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: nokogiri
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - "~>"
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '1.11'
|
146
|
-
type: :runtime
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - "~>"
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '1.11'
|
153
69
|
- !ruby/object:Gem::Dependency
|
154
70
|
name: pastel
|
155
71
|
requirement: !ruby/object:Gem::Requirement
|