evertils 0.3.27 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +0 -1
- data/lib/evertils/config.rb +10 -1
- data/lib/evertils/gpg_exception.rb +2 -0
- data/lib/evertils/required_check_exception.rb +2 -0
- data/lib/evertils/router.rb +32 -0
- data/lib/evertils/version.rb +1 -1
- data/lib/evertils/yubikey_exception.rb +2 -0
- data/lib/evertils.rb +4 -0
- metadata +4 -2
- data/lib/evertils/controllers/status.rb +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 63960e7260e09b841d48009ae22eb7a5fd61171e
|
4
|
+
data.tar.gz: 596c479a8841329ab8ddb7186f7c8a2a6f2f7d96
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0bd824fcdadc08541ecaf17fad468b6c9bff456564da6464f6a2c695149c74835f2be78ea8ee454623248d0368b957a345742a82a3df90d4bcbb7fb4d296154b
|
7
|
+
data.tar.gz: 83d02e678a531b7cac51102f9330283632830fc7e0a3b4d1b5b5e29f078ee0e5b0ce304d32037ad255c1df686362f461dd57004d8d62c20dcc9996a5f237dcd4
|
data/README.md
CHANGED
@@ -20,7 +20,6 @@ See [this document](https://github.com/aapis/evertils/wiki/Logging-Specification
|
|
20
20
|
|new|Manually create notes|`evertils new note "STUFF"`, `evertils new share_note "STUFF"`, `other task $PIPE_CHAR$ evertils new share_note --title="Piped data note"`|
|
21
21
|
|get|Get data from Evernote|`evertils get notebook` (coming soon)|
|
22
22
|
|convert|Convert your notes to Markdown, then back to ENML|(coming soon)|
|
23
|
-
|status|View script information and other data|`evertils status`|
|
24
23
|
|
25
24
|
## Automation
|
26
25
|
|
data/lib/evertils/config.rb
CHANGED
@@ -42,10 +42,19 @@ module Evertils
|
|
42
42
|
# Get a specific value from the config file data
|
43
43
|
# Params:
|
44
44
|
# +name+:: String/symbol key value
|
45
|
-
def get(name)
|
45
|
+
def get(name, child = nil)
|
46
|
+
return @yml[name.to_sym][child.to_sym] unless child.nil?
|
46
47
|
@yml[name.to_sym]
|
47
48
|
end
|
48
49
|
|
50
|
+
# Checks if a key exists
|
51
|
+
# Params:
|
52
|
+
# +name+:: String/symbol key value
|
53
|
+
def exist?(name, child = nil)
|
54
|
+
return @yml[name].key?(child.to_sym) unless child.nil?
|
55
|
+
@yml.key?(name.to_sym)
|
56
|
+
end
|
57
|
+
|
49
58
|
private
|
50
59
|
|
51
60
|
# Check if configuration data exists
|
data/lib/evertils/router.rb
CHANGED
@@ -16,6 +16,20 @@ module Evertils
|
|
16
16
|
require "evertils/controllers/#{@request.controller}"
|
17
17
|
# include helpers
|
18
18
|
require "evertils/helpers/#{@request.controller}" if File.exist? "evertils/helpers/#{@request.controller}"
|
19
|
+
|
20
|
+
# perform all required checks
|
21
|
+
must_pass = Helper::Results.new
|
22
|
+
@config.get(:required).each do |key, value|
|
23
|
+
must_pass.add(send("verify_#{key}"))
|
24
|
+
end
|
25
|
+
|
26
|
+
raise RequiredCheckException unless must_pass.should_eval_to(true)
|
27
|
+
rescue YubikeyException
|
28
|
+
Notify.error('Check failed: Yubikey is not inserted')
|
29
|
+
rescue GpgException
|
30
|
+
Notify.error('Check failed: GPG key not found or not imported into your keychain')
|
31
|
+
rescue RequiredCheckException
|
32
|
+
Notify.error('One or more required checks failed')
|
19
33
|
rescue LoadError
|
20
34
|
Notify.error("Controller not found: #{@request.controller}")
|
21
35
|
end
|
@@ -52,5 +66,23 @@ module Evertils
|
|
52
66
|
Notify.error("#{e}\n#{e.backtrace.join("\n")}", show_time: false)
|
53
67
|
end
|
54
68
|
end
|
69
|
+
|
70
|
+
# checks output of gpg --list-keys for the presence of a specific GPG key
|
71
|
+
def verify_gpgKey
|
72
|
+
# TODO: replace with Open3
|
73
|
+
res = system("gpg --list-keys #{@config.get(:required, :gpgKey)} 2>/dev/null >/dev/null")
|
74
|
+
|
75
|
+
raise GpgException unless res
|
76
|
+
res
|
77
|
+
end
|
78
|
+
|
79
|
+
# checks output of ykman list to determine if the correct key is inserted
|
80
|
+
def verify_yubikeySerial
|
81
|
+
# TODO: replace with Open3
|
82
|
+
res = system("ykman list | grep #{@config.get(:required, :yubikeySerial)} 2>/dev/null >/dev/null")
|
83
|
+
|
84
|
+
raise YubikeyException unless res
|
85
|
+
res
|
86
|
+
end
|
55
87
|
end
|
56
88
|
end
|
data/lib/evertils/version.rb
CHANGED
data/lib/evertils.rb
CHANGED
@@ -14,6 +14,7 @@ require 'mime/types'
|
|
14
14
|
require 'evertils/common'
|
15
15
|
require 'yaml'
|
16
16
|
require 'nokogiri'
|
17
|
+
# require 'open3'
|
17
18
|
|
18
19
|
# include required files
|
19
20
|
require 'evertils/kernel'
|
@@ -23,6 +24,9 @@ require 'evertils/type'
|
|
23
24
|
require 'evertils/helpers/time'
|
24
25
|
require 'evertils/helpers/results'
|
25
26
|
require 'evertils/helpers/api-enml-handler'
|
27
|
+
require 'evertils/gpg_exception'
|
28
|
+
require 'evertils/yubikey_exception'
|
29
|
+
require 'evertils/required_check_exception'
|
26
30
|
require 'evertils/config'
|
27
31
|
require 'evertils/request'
|
28
32
|
require 'evertils/controller'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: evertils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Priebe
|
@@ -124,7 +124,7 @@ files:
|
|
124
124
|
- lib/evertils/controllers/get.rb
|
125
125
|
- lib/evertils/controllers/log.rb
|
126
126
|
- lib/evertils/controllers/new.rb
|
127
|
-
- lib/evertils/
|
127
|
+
- lib/evertils/gpg_exception.rb
|
128
128
|
- lib/evertils/helper.rb
|
129
129
|
- lib/evertils/helpers/api-enml-handler.rb
|
130
130
|
- lib/evertils/helpers/evernote-enml.rb
|
@@ -136,6 +136,7 @@ files:
|
|
136
136
|
- lib/evertils/helpers/xml.rb
|
137
137
|
- lib/evertils/kernel.rb
|
138
138
|
- lib/evertils/request.rb
|
139
|
+
- lib/evertils/required_check_exception.rb
|
139
140
|
- lib/evertils/router.rb
|
140
141
|
- lib/evertils/type.rb
|
141
142
|
- lib/evertils/types/daily.rb
|
@@ -145,6 +146,7 @@ files:
|
|
145
146
|
- lib/evertils/types/weekly.rb
|
146
147
|
- lib/evertils/vendor/enml.dtd
|
147
148
|
- lib/evertils/version.rb
|
149
|
+
- lib/evertils/yubikey_exception.rb
|
148
150
|
homepage: http://rubygems.org/gems/evertils
|
149
151
|
licenses:
|
150
152
|
- MIT
|