evertils 1.0.11 → 1.0.12
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/evertils/controllers/log.rb +12 -11
- data/lib/evertils/grammar.rb +49 -0
- data/lib/evertils/helpers/note.rb +4 -7
- data/lib/evertils/version.rb +1 -1
- data/lib/evertils.rb +1 -1
- metadata +2 -2
- data/lib/evertils/helpers/search-grammar.rb +0 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 99e8ad314c474633e6107fb99dd66364cab9d8a2f38ae36e461c07cae6a2a842
|
4
|
+
data.tar.gz: 94cff8759a0cac2568fc06f59205870225d7b9f9e76c8f5c37ad3bccfa299f62
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0a4d0c5ccb9461475e0c975515c0cdaddd13250ba10631504ac861f3729acf218361a86e5d6daeb037f779cd53a3bf8bd6d131a41a6dec4bc9ce503f882dcd0
|
7
|
+
data.tar.gz: 29e50ce9b59a4be5a41fe9288b4d465d13abb20422094487e7df9bdecccbd6f25fb22a8dda22cef551ec1c40239b53177b464ec3104d4b134ad184aacedd08ee
|
@@ -5,7 +5,6 @@ module Evertils
|
|
5
5
|
super
|
6
6
|
|
7
7
|
@note_helper = Evertils::Helper.load('Note')
|
8
|
-
@search_grammar = Evertils::Helper.load('SearchGrammar')
|
9
8
|
@api_helper = Evertils::Helper.load('ApiEnmlHandler', @config)
|
10
9
|
end
|
11
10
|
|
@@ -13,16 +12,7 @@ module Evertils
|
|
13
12
|
def message(text = nil)
|
14
13
|
return Notify.error('A message is required') if text.nil?
|
15
14
|
|
16
|
-
|
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)
|
15
|
+
note = @note_helper.find_note_by_grammar(grammar.to_s)
|
26
16
|
|
27
17
|
return Notify.error('Note not found') if note.entity.nil?
|
28
18
|
|
@@ -31,6 +21,17 @@ module Evertils
|
|
31
21
|
|
32
22
|
private
|
33
23
|
|
24
|
+
def grammar
|
25
|
+
terms = Grammar.new
|
26
|
+
terms.tags = {
|
27
|
+
day: Date.today.yday,
|
28
|
+
week: Date.today.cweek
|
29
|
+
}
|
30
|
+
terms.notebook = :Daily
|
31
|
+
terms.created = Date.new(Date.today.year, 1, 1).strftime('%Y%m%d')
|
32
|
+
terms
|
33
|
+
end
|
34
|
+
|
34
35
|
# Update a note with content
|
35
36
|
def modify(note, text)
|
36
37
|
xml = @api_helper.from_str(note.entity.content)
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Evertils
|
4
|
+
class Grammar
|
5
|
+
attr_accessor :tags, :notebook, :created
|
6
|
+
|
7
|
+
# Available grammars
|
8
|
+
# https://dev.evernote.com/doc/articles/search_grammar.php
|
9
|
+
# @since 1.0.12
|
10
|
+
def initialize
|
11
|
+
@tags = []
|
12
|
+
@grammar = []
|
13
|
+
@notebook = nil
|
14
|
+
@created = Date.today.strftime('%Y%m%d')
|
15
|
+
end
|
16
|
+
|
17
|
+
#
|
18
|
+
# @since 1.0.12
|
19
|
+
def to_s
|
20
|
+
stringify_properties
|
21
|
+
stringify_tags unless @tags.empty?
|
22
|
+
|
23
|
+
@grammar.join(' ')
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
#
|
29
|
+
# @since 1.0.12
|
30
|
+
def stringify_tags
|
31
|
+
@tags.each_pair do |k, v|
|
32
|
+
@grammar.push("tag:#{k}-#{v}")
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
#
|
37
|
+
# @since 1.0.12
|
38
|
+
def stringify_properties
|
39
|
+
# automatically convert the non-hash properties to EN grammar key/value
|
40
|
+
# pairs
|
41
|
+
grammars_used = methods - Object.instance_methods
|
42
|
+
grammars_used.reject! { |k, _| k.to_s.end_with?('=') || k == :tags }
|
43
|
+
|
44
|
+
grammars_used.each do |grammar|
|
45
|
+
@grammar.push("#{grammar}:#{send(grammar)}")
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -7,23 +7,20 @@ 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')
|
11
10
|
@user = @model.user_info[:user]
|
12
11
|
@shard = @model.user_info[:shard]
|
13
12
|
end
|
14
13
|
|
15
|
-
def wait_for_with_grammar(
|
16
|
-
grammar = @search_grammar.from(conf)
|
14
|
+
def wait_for_with_grammar(grammar, iterations = Evertils::Type::Base::MAX_SEARCH_SIZE)
|
17
15
|
Notify.info("Searching with grammar #{grammar}")
|
18
|
-
note = find_note_by_grammar(grammar)
|
16
|
+
note = find_note_by_grammar(grammar.to_s)
|
19
17
|
|
20
18
|
begin
|
21
19
|
if note.entity.nil?
|
22
20
|
(1..iterations).each do |iter|
|
23
|
-
|
24
|
-
grammar = @search_grammar.from(conf)
|
21
|
+
grammar.tags[:day] -= 1
|
25
22
|
Notify.info(" (#{iter}) Looking for #{grammar}")
|
26
|
-
note = find_note_by_grammar(grammar, true)
|
23
|
+
note = find_note_by_grammar(grammar.to_s, true)
|
27
24
|
|
28
25
|
break unless note.entity.nil? || iter == Evertils::Type::Base::MAX_SEARCH_SIZE
|
29
26
|
end
|
data/lib/evertils/version.rb
CHANGED
data/lib/evertils.rb
CHANGED
@@ -28,7 +28,6 @@ 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'
|
32
31
|
require 'evertils/gpg_exception'
|
33
32
|
require 'evertils/yubikey_exception'
|
34
33
|
require 'evertils/required_check_exception'
|
@@ -42,6 +41,7 @@ require 'evertils/helpers/formatting'
|
|
42
41
|
require 'evertils/helpers/evernote-enml'
|
43
42
|
require 'evertils/helpers/note'
|
44
43
|
require 'evertils/helpers/xml'
|
44
|
+
require 'evertils/grammar'
|
45
45
|
|
46
46
|
module Evertils
|
47
47
|
# Flag to determine if module is running in test mode
|
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.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Priebe
|
@@ -131,6 +131,7 @@ files:
|
|
131
131
|
- lib/evertils/controllers/new.rb
|
132
132
|
- lib/evertils/controllers/render.rb
|
133
133
|
- lib/evertils/gpg_exception.rb
|
134
|
+
- lib/evertils/grammar.rb
|
134
135
|
- lib/evertils/helper.rb
|
135
136
|
- lib/evertils/helpers/api-enml-handler.rb
|
136
137
|
- lib/evertils/helpers/evernote-enml.rb
|
@@ -138,7 +139,6 @@ files:
|
|
138
139
|
- lib/evertils/helpers/formatting.rb
|
139
140
|
- lib/evertils/helpers/note.rb
|
140
141
|
- lib/evertils/helpers/results.rb
|
141
|
-
- lib/evertils/helpers/search-grammar.rb
|
142
142
|
- lib/evertils/helpers/time.rb
|
143
143
|
- lib/evertils/helpers/xml.rb
|
144
144
|
- lib/evertils/kernel.rb
|
@@ -1,29 +0,0 @@
|
|
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
|