evertils 0.3.5 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d4ffe43d82d5401de2e7e132b9ca9328c0713ed7
4
- data.tar.gz: dcd8f113b8cd4443a3d08a35faaf3ed3518a9fb2
3
+ metadata.gz: 613756ce620cb2f255b005b86da5e14357c2851c
4
+ data.tar.gz: 4e1ced19ef5f23579fec39be7d0e939792c00195
5
5
  SHA512:
6
- metadata.gz: 1f1469fbc3cf5b6a523116e3566c4a8c9f528d934c8652c4c02390750a4ce64480b8dfa88adf68dbca31e416a423a690948da116ab0b820d52087d90c8feac41
7
- data.tar.gz: 660a9653dfcacca6892e3ea90a0f66a170f77513246d126094f332c2db00fadc19c7f5e73b0f0ff4ba240c2f43d71fff8674b295cb725ec388ccb743ac155b69
6
+ metadata.gz: 16c384c2f9baa1580f9142126be48529e386afb0cb955bb6661876535b3bfb0c24eadbc50adf8ab8afe9d4e84118de56e9ee7d622559f9766467d648898f8bc1
7
+ data.tar.gz: 0712a55cab72c0d843d9d69808aaaee89de92960814a1a73d798320941bbc47f1abd0b2a4a48b3102b7d56a6c7a836d8bd806cb3399f4c54891e6be4247c0efe
data/README.md CHANGED
@@ -16,8 +16,8 @@ See [this document](https://github.com/aapis/evertils/wiki/Logging-Specification
16
16
 
17
17
  |Command|Description|Usage|
18
18
  |:--------------|:-----------|:-------------|
19
- |generate|Create notes based on templates|`evertils generate daily|weekly|monthly`|
20
- |new|Manually create notes|`evertils new note "STUFF"`, `evertils new share_note "STUFF"`, `other task | evertils new share_note --title="Piped data note"`|
21
- |get|Get data from Evernote|`evertils get notebook`|
19
+ |generate|Create notes from templates|`evertils generate daily`, `evertils generate morning`, `evertils generate monthly`|
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
+ |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
23
  |status|View script information and other data|`evertils status`|
data/bin/evertils CHANGED
@@ -15,6 +15,7 @@ require 'digest/md5'
15
15
  require 'mime/types'
16
16
  require 'evertils/common'
17
17
  require 'yaml'
18
+ require 'nokogiri'
18
19
 
19
20
  # include required files
20
21
  require_relative '../lib/kernel.rb'
data/evertils.gemspec CHANGED
@@ -19,8 +19,9 @@ Gem::Specification.new do |s|
19
19
 
20
20
  s.add_runtime_dependency 'notifaction'
21
21
  s.add_runtime_dependency 'mime-types'
22
- s.add_runtime_dependency 'evertils-common', '~> 0.3.1'
22
+ s.add_runtime_dependency 'evertils-common', '~> 0.3.5'
23
+ s.add_runtime_dependency 'nokogiri'
23
24
 
24
25
  s.add_development_dependency "bundler", "~> 1.10"
25
26
  s.add_development_dependency "rake", "~> 10.0"
26
- end
27
+ end
@@ -95,12 +95,56 @@ module Evertils
95
95
 
96
96
  # generate priority queue notes
97
97
  def pq
98
- title = @format.date_templates[NOTEBOOK_PRIORITY_QUEUE]
99
- body = @format.template_contents(NOTEBOOK_PRIORITY_QUEUE)
100
- body += to_enml($config.custom_sections[NOTEBOOK_PRIORITY_QUEUE]) unless $config.custom_sections.nil?
101
- parent_notebook = NOTEBOOK_PRIORITY_QUEUE
98
+ if Date.today.monday?
99
+ # get friday's note
100
+ friday = (Date.today - 3)
101
+ dow = @format.day_of_week(friday.strftime('%a'))
102
+ note_title = "Queue For [#{friday.strftime('%B %-d')} - #{dow}]"
103
+ found = @model.find_note_contents(note_title)
104
+
105
+ raise "Queue was not found - #{friday.strftime('%B %-d')}" unless found
106
+
107
+ title = @format.date_templates[NOTEBOOK_PRIORITY_QUEUE]
108
+ content = prepare_enml(found.entity.content)
109
+
110
+ @model.create_note(title: title, body: content, parent_notebook: NOTEBOOK_PRIORITY_QUEUE)
111
+ elsif Date.today.tuesday?
112
+ # find monday's note
113
+ monday = (Date.today - 1)
114
+ dow = @format.day_of_week(monday.strftime('%a'))
115
+ monday_note_title = "Queue For [#{monday.strftime('%B %-d')} - #{dow}]"
116
+ monday_note = @model.find_note_contents(monday_note_title)
117
+
118
+ if !monday_note.entity.nil?
119
+ note = monday_note.entity
120
+ note.title = @format.date_templates[NOTEBOOK_PRIORITY_QUEUE]
121
+ else
122
+ # if it does not exist, get friday's note
123
+ friday = (Date.today - 4)
124
+ dow = @format.day_of_week(friday.strftime('%a'))
125
+ note_title = "Queue For [#{friday.strftime('%B %-d')} - #{dow}]"
126
+ note = @model.find_note_contents(note_title)
127
+ end
102
128
 
103
- @model.create_note(title: title, body: body, parent_notebook: parent_notebook)
129
+ raise 'Queue was not found' unless note
130
+
131
+ content = prepare_enml(note.content)
132
+
133
+ @model.create_note(title: note.title, body: content, parent_notebook: NOTEBOOK_PRIORITY_QUEUE)
134
+ else
135
+ yest = (Date.today - 1)
136
+ dow = @format.day_of_week(yest.strftime('%a'))
137
+ yest_note_title = "Queue For [#{yest.strftime('%B %-d')} - #{dow}]"
138
+ found = @model.find_note_contents(yest_note_title).entity
139
+
140
+ raise "Queue was not found - #{yest.strftime('%B %-d')}" unless found
141
+
142
+ title = @format.date_templates[NOTEBOOK_PRIORITY_QUEUE]
143
+ content = prepare_enml(found.content)
144
+ content += to_enml($config.custom_sections[NOTEBOOK_PRIORITY_QUEUE]) unless $config.custom_sections.nil?
145
+
146
+ @model.create_note(title: title, body: content, parent_notebook: NOTEBOOK_PRIORITY_QUEUE)
147
+ end
104
148
  end
105
149
 
106
150
  # creates the notes required to start the day
@@ -120,6 +164,24 @@ module Evertils
120
164
  def to_enml(hash)
121
165
  Evertils::Helper::EvernoteENML.with_list(hash)
122
166
  end
167
+
168
+ #
169
+ # @since 0.3.5
170
+ def prepare_enml(content)
171
+ # remove the xml declaration and DTD
172
+ content = content.split("\n")
173
+ content.shift(2)
174
+
175
+ xml = Nokogiri::XML::DocumentFragment.parse(content.join)
176
+ note_xml = xml.search('en-note')
177
+
178
+ # remove <br> tags
179
+ note_xml.search('br').each do |br|
180
+ br.remove
181
+ end
182
+
183
+ note_xml.inner_html().to_s
184
+ end
123
185
  end
124
186
  end
125
187
  end
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Evertils
2
- VERSION = '0.3.5'.freeze
2
+ VERSION = '0.3.6'.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.5
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Priebe
@@ -44,14 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.3.1
47
+ version: 0.3.5
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.3.1
54
+ version: 0.3.5
55
+ - !ruby/object:Gem::Dependency
56
+ name: nokogiri
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: bundler
57
71
  requirement: !ruby/object:Gem::Requirement