evertils 1.0.10 → 1.0.11
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/bin/evertils +1 -1
- data/lib/evertils/controllers/log.rb +13 -3
- data/lib/evertils/helpers/note.rb +29 -0
- data/lib/evertils/helpers/search-grammar.rb +29 -0
- data/lib/evertils/version.rb +1 -1
- data/lib/evertils.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 206974c6d6d876faed379c1f8d174c8e02f1af89410960b5a0759a2ba988c0ee
|
4
|
+
data.tar.gz: 2a56984a7e1757992e811652c9ba989060943a2d99bf943dd318dfdfcf58a628
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1cb7bf54cf9a60deb6959c37a053a031f4d406950a619fd784d987d5866a2208827ffdc451f1191d2c043734ce9847255786940754a1abfbcfc6d2df33647982
|
7
|
+
data.tar.gz: c85ea5dab302bbdd7c0f6abd3d6c7eccbaccb9360cea96e517b7190a9fe052ace959a0ebbd2ceb9714668110221ca5009dd3b098ddd0b652d0c29f9728c2a12e
|
data/bin/evertils
CHANGED
@@ -5,14 +5,24 @@ module Evertils
|
|
5
5
|
super
|
6
6
|
|
7
7
|
@note_helper = Evertils::Helper.load('Note')
|
8
|
+
@search_grammar = Evertils::Helper.load('SearchGrammar')
|
8
9
|
@api_helper = Evertils::Helper.load('ApiEnmlHandler', @config)
|
9
10
|
end
|
10
11
|
|
11
12
|
# Send arbitrary text to the daily log
|
12
13
|
def message(text = nil)
|
13
|
-
return Notify.error('A message is required'
|
14
|
-
|
15
|
-
|
14
|
+
return Notify.error('A message is required') if text.nil?
|
15
|
+
|
16
|
+
# TODO: should be an object instead of arbitrary hash
|
17
|
+
criteria = {
|
18
|
+
notebook: :Daily,
|
19
|
+
tags: {
|
20
|
+
day: Date.today.yday
|
21
|
+
},
|
22
|
+
created: Date.new(Date.today.year, 1, 1).strftime('%Y%m%d')
|
23
|
+
}
|
24
|
+
|
25
|
+
note = @note_helper.wait_for_with_grammar(criteria)
|
16
26
|
|
17
27
|
return Notify.error('Note not found') if note.entity.nil?
|
18
28
|
|
@@ -7,10 +7,34 @@ module Evertils
|
|
7
7
|
def initialize
|
8
8
|
@model = Evertils::Common::Query::Simple.new
|
9
9
|
@format = Evertils::Helper.load('Formatting')
|
10
|
+
@search_grammar = Evertils::Helper.load('SearchGrammar')
|
10
11
|
@user = @model.user_info[:user]
|
11
12
|
@shard = @model.user_info[:shard]
|
12
13
|
end
|
13
14
|
|
15
|
+
def wait_for_with_grammar(conf, iterations = Evertils::Type::Base::MAX_SEARCH_SIZE)
|
16
|
+
grammar = @search_grammar.from(conf)
|
17
|
+
Notify.info("Searching with grammar #{grammar}")
|
18
|
+
note = find_note_by_grammar(grammar)
|
19
|
+
|
20
|
+
begin
|
21
|
+
if note.entity.nil?
|
22
|
+
(1..iterations).each do |iter|
|
23
|
+
conf[:tags][:day] -= 1
|
24
|
+
grammar = @search_grammar.from(conf)
|
25
|
+
Notify.info(" (#{iter}) Looking for #{grammar}")
|
26
|
+
note = find_note_by_grammar(grammar, true)
|
27
|
+
|
28
|
+
break unless note.entity.nil? || iter == Evertils::Type::Base::MAX_SEARCH_SIZE
|
29
|
+
end
|
30
|
+
end
|
31
|
+
rescue Interrupt
|
32
|
+
Notify.error('Cancelled wait')
|
33
|
+
end
|
34
|
+
|
35
|
+
note
|
36
|
+
end
|
37
|
+
|
14
38
|
# Wait for a note to exist
|
15
39
|
def wait_for_by_notebook(notebook, iterations = Evertils::Type::Base::MAX_SEARCH_SIZE)
|
16
40
|
Notify.info("Waiting for #{notebook}...")
|
@@ -68,6 +92,11 @@ module Evertils
|
|
68
92
|
end
|
69
93
|
# alias find_by_notebook
|
70
94
|
|
95
|
+
def find_note_by_grammar(grammar, sleep = false)
|
96
|
+
sleep(5) if sleep
|
97
|
+
@model.find_note_contents_using_grammar(grammar)
|
98
|
+
end
|
99
|
+
|
71
100
|
#
|
72
101
|
# @since 0.3.15
|
73
102
|
def internal_url_for(note)
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Evertils
|
2
|
+
module Helper
|
3
|
+
class SearchGrammar
|
4
|
+
def from(conf)
|
5
|
+
@configuration = conf
|
6
|
+
@grammar = []
|
7
|
+
|
8
|
+
fix_standard_grammar
|
9
|
+
fix_tags if @configuration.include?(:tags)
|
10
|
+
|
11
|
+
@grammar.join(' ')
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def fix_tags
|
17
|
+
@configuration[:tags].each_pair do |k, v|
|
18
|
+
@grammar.push("tag:#{k}-#{v}")
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def fix_standard_grammar
|
23
|
+
@configuration.each_pair do |k, v|
|
24
|
+
@grammar.push("#{k}:#{v}") unless k == :tags
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/lib/evertils/version.rb
CHANGED
data/lib/evertils.rb
CHANGED
@@ -28,6 +28,7 @@ require 'evertils/actions/duplicate_previous'
|
|
28
28
|
require 'evertils/helpers/time'
|
29
29
|
require 'evertils/helpers/results'
|
30
30
|
require 'evertils/helpers/api-enml-handler'
|
31
|
+
require 'evertils/helpers/search-grammar'
|
31
32
|
require 'evertils/gpg_exception'
|
32
33
|
require 'evertils/yubikey_exception'
|
33
34
|
require 'evertils/required_check_exception'
|
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: 1.0.
|
4
|
+
version: 1.0.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Priebe
|
@@ -138,6 +138,7 @@ files:
|
|
138
138
|
- lib/evertils/helpers/formatting.rb
|
139
139
|
- lib/evertils/helpers/note.rb
|
140
140
|
- lib/evertils/helpers/results.rb
|
141
|
+
- lib/evertils/helpers/search-grammar.rb
|
141
142
|
- lib/evertils/helpers/time.rb
|
142
143
|
- lib/evertils/helpers/xml.rb
|
143
144
|
- lib/evertils/kernel.rb
|
@@ -172,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
172
173
|
- !ruby/object:Gem::Version
|
173
174
|
version: '0'
|
174
175
|
requirements: []
|
175
|
-
rubygems_version: 3.0.
|
176
|
+
rubygems_version: 3.0.8
|
176
177
|
signing_key:
|
177
178
|
specification_version: 4
|
178
179
|
summary: EN (heart) CLI
|