evertils 0.3.5 → 0.3.6

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: 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