evertils 1.0.10 → 1.0.11
Sign up to get free protection for your applications and to get access to all the features.
- 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
|