evertils 0.3.14 → 0.3.14.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: df5675280a5a000058729c6e54421e27450cc331
4
- data.tar.gz: 3a4429dff8c505fc6a634933d26df86a1eb356c1
3
+ metadata.gz: 718d7296f7fb64fe1e53c51150e94d5dbfca5771
4
+ data.tar.gz: 1f4a1ff05f39f7e2dfd49a7d525cce45157b5075
5
5
  SHA512:
6
- metadata.gz: 9a224f419cc2fbd8d2c78165518358c249260d2e8c073a23fa658c64ac724c6ba372b11e1db97a0be370908a8e44013edb73eef8e2e82b522e943c68bba2eb7f
7
- data.tar.gz: 59ad4ecbc60745e79cc01b6ff22b02764f686fb0bc8bb1cb4124b4086fe7d4bd6b1c0abd1fa653b5fe89e387c1101e14e1e6be31344d0093164575bd066fa320
6
+ metadata.gz: d7ac052ae463845c104993eb40e4735629c5094cc438bc9ae4c6c50f1ddc11f36a1909e48601b7003ef33848bf853be929ab4f6f4ff762d75ca56cfd1500153a
7
+ data.tar.gz: 7e54c227677a05a14621fcc4b20314e2a06c3ac60ed2f57c55b0ffaa7090b5f51cb83ed255a0d299f9e3b1ae86cb4af18e34afb3d80fbdbdb424a1d0cc3d69f3
@@ -3,6 +3,7 @@ module Evertils
3
3
  class Daily < Type::Base
4
4
  NOTEBOOK = :Daily
5
5
  COLOUR = 0xffe8b7
6
+ MAX_SEARCH_SIZE = 21
6
7
 
7
8
  #
8
9
  # @since 0.3.7
@@ -36,15 +37,16 @@ module Evertils
36
37
  @api = Evertils::Helper.load('ApiEnmlHandler', @config)
37
38
  enml = @api.from_str(@format.template_contents(NOTEBOOK))
38
39
 
40
+ Notify.info('Waiting for...')
39
41
  pq = find_priority_queue
40
42
 
41
43
  # didn't find the note the first time? wait and try again
42
44
  if pq.entity.nil?
43
- iter = 0
45
+ iter = 1
44
46
  loop do
45
47
  iter += 1
46
48
  pq = find_priority_queue(true)
47
- break unless pq.entity.nil?
49
+ break unless pq.entity.nil? || iter == MAX_SEARCH_SIZE
48
50
  end
49
51
 
50
52
  Notify.info("#{iter} attempts to find the pq note") unless iter.zero?
@@ -65,6 +67,7 @@ module Evertils
65
67
  def find_priority_queue(sleep = false)
66
68
  sleep(5) if sleep
67
69
  title = @format.date_templates[:'Priority Queue']
70
+ Notify.info(title)
68
71
  @model.find_note_contents(title)
69
72
  end
70
73
  end
@@ -3,6 +3,7 @@ module Evertils
3
3
  class PriorityQueue < Type::Base
4
4
  NOTEBOOK = :'Priority Queue'
5
5
  COLOUR = 0xffe8b7
6
+ MAX_SEARCH_SIZE = 21
6
7
 
7
8
  #
8
9
  # @since 0.3.7
@@ -10,13 +11,14 @@ module Evertils
10
11
  super(config, *args)
11
12
 
12
13
  @handler = Evertils::Helper.load('ApiEnmlHandler', @config)
14
+ @title = @format.date_templates[NOTEBOOK]
13
15
 
14
16
  if Date.today.monday?
15
- @title, @content = condition_monday
17
+ @content = condition_monday
16
18
  elsif Date.today.tuesday?
17
- @title, @content = condition_tuesday
19
+ @content = condition_tuesday
18
20
  else
19
- @title, @content = condition_default
21
+ @content = condition_default
20
22
  end
21
23
  end
22
24
 
@@ -38,15 +40,14 @@ module Evertils
38
40
 
39
41
  raise "Queue was not found - #{friday.strftime('%B %-d')}" unless found
40
42
 
41
- [
42
- @format.date_templates[NOTEBOOK],
43
- @handler.convert_to_xml(found.entity.content).prepare
44
- ]
43
+ @handler.convert_to_xml(found.entity.content).prepare
45
44
  end
46
45
 
47
46
  # Find monday's note
47
+ # TODO: refactor
48
48
  # @since 0.3.7
49
49
  def condition_tuesday
50
+ # get monday note
50
51
  monday = (Date.today - 1)
51
52
  dow = @format.day_of_week(monday.strftime('%a'))
52
53
  monday_note_title = "Queue For [#{monday.strftime('%B %-d')} - #{dow}]"
@@ -54,21 +55,38 @@ module Evertils
54
55
 
55
56
  if !monday_note.entity.nil?
56
57
  note = monday_note.entity
57
- note.title = @format.date_templates[NOTEBOOK]
58
58
  else
59
59
  # if it does not exist, get friday's note
60
60
  friday = (Date.today - 4)
61
61
  dow = @format.day_of_week(friday.strftime('%a'))
62
- note_title = "Queue For [#{friday.strftime('%B %-d')} - #{dow}]"
63
- note = @model.find_note_contents(note_title)
62
+ fri_note_title = "Queue For [#{friday.strftime('%B %-d')} - #{dow}]"
63
+ fri_note = @model.find_note_contents(fri_note_title)
64
+
65
+ if fri_note.entity.nil?
66
+ # if it does not exist, get $day - 1 note until we find one
67
+ day = friday
68
+ iter = 0
69
+
70
+ Notify.info('Searching for...')
71
+
72
+ loop do
73
+ iter += 1
74
+ day -= 1
75
+ dow = @format.day_of_week(day.strftime('%a'))
76
+ note_title = "Queue For [#{day.strftime('%B %-d')} - #{dow}]"
77
+ query = @model.find_note_contents(note_title)
78
+ note = query.entity
79
+
80
+ Notify.info(" (#{iter}) #{note_title}")
81
+
82
+ break unless note.nil? || iter == MAX_SEARCH_SIZE
83
+ end
84
+ end
64
85
  end
65
86
 
66
87
  raise 'Queue was not found' unless note
67
88
 
68
- [
69
- note.title,
70
- @handler.convert_to_xml(note.content).prepare
71
- ]
89
+ @handler.convert_to_xml(note.content).prepare
72
90
  end
73
91
 
74
92
  # Default action for not-Monday/Tuesday
@@ -81,10 +99,7 @@ module Evertils
81
99
 
82
100
  raise "Queue was not found - #{yest.strftime('%B %-d')}" unless found
83
101
 
84
- [
85
- @format.date_templates[NOTEBOOK],
86
- @handler.convert_to_xml(found.content).prepare
87
- ]
102
+ @handler.convert_to_xml(found.content).prepare
88
103
  end
89
104
  end
90
105
  end
@@ -18,20 +18,6 @@ module Evertils
18
18
  def tags
19
19
  ["week-#{Date.today.cweek}"]
20
20
  end
21
-
22
- #
23
- # @since 0.3.7
24
- def should_create?
25
- is_monday = Date.today.monday?
26
-
27
- weekly_note_title = @format.date_templates[NOTEBOOK]
28
- found = @model.find_note_contents(weekly_note_title)
29
- result = found.entity.nil? && is_monday
30
-
31
- Notify.warning "#{self.class.name} skipped, note already exists" unless result
32
-
33
- result
34
- end
35
21
  end
36
22
  end
37
23
  end
@@ -1,3 +1,3 @@
1
1
  module Evertils
2
- VERSION = '0.3.14'.freeze
2
+ VERSION = '0.3.14.1'.freeze
3
3
  end
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.3.14
4
+ version: 0.3.14.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Priebe