evernote-editor 0.1.5 → 0.1.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 +7 -0
- data/README.md +5 -0
- data/evernote-editor.gemspec +1 -1
- data/lib/evernote_editor/editor.rb +19 -16
- data/lib/evernote_editor/version.rb +1 -1
- data/spec/evernote_editor/editor_spec.rb +4 -4
- data/spec/spec_helper.rb +1 -1
- metadata +9 -25
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5e0c7eda0c6c08b8b4e4d1bbc6a2e3c8965a5ceb
|
4
|
+
data.tar.gz: 42b9daf7d67a81bdf93b2e62ecdb60636201027a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 091f9574bb001018e1d6738d9f415f7bcc55f4fdfeb364c9c003754004deab16084a495e229f75c8175063a9406c61b1df1ec24839cc28656b995583c0ae0355
|
7
|
+
data.tar.gz: 95d4c1a1c980bab523e65ee59ba691e821faaa6010d423b396c76ac32d8eb433dd0b958461dfa7a92766b9e75add08aefda44516b8e2032f8abe1d6d7158ef07
|
data/README.md
CHANGED
data/evernote-editor.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
|
|
18
18
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
19
19
|
gem.require_paths = ["lib"]
|
20
20
|
|
21
|
-
gem.add_runtime_dependency "evernote_oauth", "~> 0.1
|
21
|
+
gem.add_runtime_dependency "evernote_oauth", "~> 0.2.1"
|
22
22
|
gem.add_runtime_dependency "highline", "~> 1.6.15"
|
23
23
|
gem.add_runtime_dependency "redcarpet", "~> 2.2.2"
|
24
24
|
gem.add_runtime_dependency "reverse_markdown", "~> 0.4.3"
|
@@ -2,6 +2,7 @@ require 'evernote_oauth'
|
|
2
2
|
require 'fileutils'
|
3
3
|
require 'tempfile'
|
4
4
|
require "highline/import"
|
5
|
+
require "json"
|
5
6
|
require "redcarpet"
|
6
7
|
require "reverse_markdown"
|
7
8
|
|
@@ -28,21 +29,23 @@ module EvernoteEditor
|
|
28
29
|
|
29
30
|
def configure
|
30
31
|
FileUtils.touch(CONFIGURATION_FILE) unless File.exist?(CONFIGURATION_FILE)
|
31
|
-
|
32
|
-
|
33
|
-
|
32
|
+
#@configuration = YAML::load(File.open(CONFIGURATION_FILE)) || {}
|
33
|
+
@configuration = JSON::load(File.open(CONFIGURATION_FILE)) || {}
|
34
|
+
#@configuration = JSON.parse( IO.read(CONFIGURATION_FILE) || {} )
|
35
|
+
store_key unless @configuration['token']
|
36
|
+
store_editor unless @configuration['editor']
|
34
37
|
end
|
35
38
|
|
36
39
|
def create_note
|
37
40
|
markdown = invoke_editor
|
38
41
|
begin
|
39
|
-
evn_client = EvernoteOAuth::Client.new(token: @configuration[
|
42
|
+
evn_client = EvernoteOAuth::Client.new(token: @configuration['token'], sandbox: @sandbox)
|
40
43
|
note_store = evn_client.note_store
|
41
44
|
note = Evernote::EDAM::Type::Note.new
|
42
45
|
note.title = @title.empty? ? "Untitled note" : @title
|
43
46
|
note.tagNames = @tags unless @tags.empty?
|
44
47
|
note.content = note_markup(markdown)
|
45
|
-
created_note = note_store.createNote(@configuration[
|
48
|
+
created_note = note_store.createNote(@configuration['token'], note)
|
46
49
|
say "Successfully created new note '#{created_note.title}'"
|
47
50
|
rescue Evernote::EDAM::Error::EDAMSystemException,
|
48
51
|
Evernote::EDAM::Error::EDAMUserException,
|
@@ -82,9 +85,9 @@ module EvernoteEditor
|
|
82
85
|
return if choice.nil?
|
83
86
|
|
84
87
|
begin
|
85
|
-
evn_client = EvernoteOAuth::Client.new(token: @configuration[
|
88
|
+
evn_client = EvernoteOAuth::Client.new(token: @configuration['token'], sandbox: @sandbox)
|
86
89
|
note_store = evn_client.note_store
|
87
|
-
note = note_store.getNote(@configuration[
|
90
|
+
note = note_store.getNote(@configuration['token'], choice, true, true, false, false)
|
88
91
|
rescue Evernote::EDAM::Error::EDAMSystemException,
|
89
92
|
Evernote::EDAM::Error::EDAMUserException,
|
90
93
|
Evernote::EDAM::Error::EDAMNotFoundException => e
|
@@ -97,7 +100,7 @@ module EvernoteEditor
|
|
97
100
|
note.updated = Time.now.to_i * 1000
|
98
101
|
|
99
102
|
begin
|
100
|
-
note_store.updateNote(@configuration[
|
103
|
+
note_store.updateNote(@configuration['token'], note)
|
101
104
|
say "Successfully updated note '#{note.title}'"
|
102
105
|
rescue Evernote::EDAM::Error::EDAMSystemException,
|
103
106
|
Evernote::EDAM::Error::EDAMUserException,
|
@@ -110,15 +113,15 @@ module EvernoteEditor
|
|
110
113
|
|
111
114
|
def search_notes(term = '')
|
112
115
|
begin
|
113
|
-
evn_client = EvernoteOAuth::Client.new(token: @configuration[
|
116
|
+
evn_client = EvernoteOAuth::Client.new(token: @configuration['token'], sandbox: @sandbox)
|
114
117
|
note_store = evn_client.note_store
|
115
118
|
note_filter = Evernote::EDAM::NoteStore::NoteFilter.new
|
116
119
|
note_filter.words = term
|
117
|
-
results = note_store.findNotes(@configuration[
|
120
|
+
results = note_store.findNotes(@configuration['token'], note_filter, 0, 10).notes
|
118
121
|
rescue Evernote::EDAM::Error::EDAMSystemException,
|
119
122
|
Evernote::EDAM::Error::EDAMUserException,
|
120
123
|
Evernote::EDAM::Error::EDAMNotFoundException => e
|
121
|
-
say "Sorry, an error occurred
|
124
|
+
say "Sorry, an error occurred communicating with Evernote (#{e.inspect})"
|
122
125
|
false
|
123
126
|
end
|
124
127
|
|
@@ -144,13 +147,13 @@ module EvernoteEditor
|
|
144
147
|
end
|
145
148
|
|
146
149
|
def open_editor(file_path)
|
147
|
-
cmd = [@configuration[
|
150
|
+
cmd = [@configuration['editor'], blocking_flag, file_path].join(' ')
|
148
151
|
system(cmd) or raise SystemCallError, "`#{cmd}` gave exit status: #{$?.exitstatus}"
|
149
152
|
end
|
150
153
|
|
151
154
|
# Patterned from Pry
|
152
155
|
def blocking_flag
|
153
|
-
case File.basename(@configuration[
|
156
|
+
case File.basename(@configuration['editor'])
|
154
157
|
when /^[gm]vim/
|
155
158
|
'--nofork'
|
156
159
|
when /^jedit/
|
@@ -165,19 +168,19 @@ module EvernoteEditor
|
|
165
168
|
say "You will need a developer token to use this editor."
|
166
169
|
say "More information: http://dev.evernote.com/start/core/authentication.php#devtoken"
|
167
170
|
token = ask("Please enter your developer token: ") { |q| q.default = "none" }
|
168
|
-
@configuration[
|
171
|
+
@configuration['token'] = token
|
169
172
|
write_configuration
|
170
173
|
end
|
171
174
|
|
172
175
|
def store_editor
|
173
176
|
editor_command = ask("Please enter the editor command you would like to use: ") { |q| q.default = `which vim`.strip.chomp }
|
174
|
-
@configuration[
|
177
|
+
@configuration['editor'] = editor_command
|
175
178
|
write_configuration
|
176
179
|
end
|
177
180
|
|
178
181
|
def write_configuration
|
179
182
|
File.open(CONFIGURATION_FILE, "w") do |file|
|
180
|
-
file.write @configuration.
|
183
|
+
file.write @configuration.to_json
|
181
184
|
end
|
182
185
|
end
|
183
186
|
|
@@ -44,14 +44,14 @@ describe EvernoteEditor::Editor do
|
|
44
44
|
enved.stub(:ask).with(/token/).and_return('123')
|
45
45
|
enved.stub(:ask).with(/editor/).and_return('vim')
|
46
46
|
enved.configure
|
47
|
-
|
47
|
+
JSON::load(File.open(File.expand_path("~/.evned")))['token'].should eq "123"
|
48
48
|
end
|
49
49
|
|
50
50
|
it "stores the editor path" do
|
51
51
|
enved.stub(:ask).with(/token/).and_return('123')
|
52
52
|
enved.stub(:ask).with(/editor/).and_return('vim')
|
53
53
|
enved.configure
|
54
|
-
|
54
|
+
JSON::load(File.open(File.expand_path("~/.evned")))['editor'].should eq "vim"
|
55
55
|
end
|
56
56
|
|
57
57
|
end
|
@@ -76,7 +76,7 @@ describe EvernoteEditor::Editor do
|
|
76
76
|
|
77
77
|
before do
|
78
78
|
File.open(File.expand_path("~/.evned"), 'w') do |f|
|
79
|
-
f.write( { foo: '123', editor: 'vim' }.
|
79
|
+
f.write( { foo: '123', editor: 'vim' }.to_json )
|
80
80
|
end
|
81
81
|
end
|
82
82
|
|
@@ -89,7 +89,7 @@ describe EvernoteEditor::Editor do
|
|
89
89
|
it "rewrites the configuration file" do
|
90
90
|
enved.should_receive(:ask).with(/token/).and_return('123')
|
91
91
|
enved.configure
|
92
|
-
|
92
|
+
JSON::load(File.open(File.expand_path("~/.evned")))['token'].should eq "123"
|
93
93
|
end
|
94
94
|
|
95
95
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,36 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: evernote-editor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.6
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- hpoydar
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-10-15 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: evernote_oauth
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.1
|
19
|
+
version: 0.2.1
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.1
|
26
|
+
version: 0.2.1
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: highline
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,7 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: redcarpet
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -62,7 +55,6 @@ dependencies:
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: reverse_markdown
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
59
|
- - ~>
|
68
60
|
- !ruby/object:Gem::Version
|
@@ -70,7 +62,6 @@ dependencies:
|
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
66
|
- - ~>
|
76
67
|
- !ruby/object:Gem::Version
|
@@ -78,7 +69,6 @@ dependencies:
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: fakefs
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
73
|
- - ~>
|
84
74
|
- !ruby/object:Gem::Version
|
@@ -86,7 +76,6 @@ dependencies:
|
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
80
|
- - ~>
|
92
81
|
- !ruby/object:Gem::Version
|
@@ -94,7 +83,6 @@ dependencies:
|
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: rake
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
87
|
- - ~>
|
100
88
|
- !ruby/object:Gem::Version
|
@@ -102,7 +90,6 @@ dependencies:
|
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
94
|
- - ~>
|
108
95
|
- !ruby/object:Gem::Version
|
@@ -110,7 +97,6 @@ dependencies:
|
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: rspec
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
101
|
- - ~>
|
116
102
|
- !ruby/object:Gem::Version
|
@@ -118,7 +104,6 @@ dependencies:
|
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
108
|
- - ~>
|
124
109
|
- !ruby/object:Gem::Version
|
@@ -147,27 +132,26 @@ files:
|
|
147
132
|
- spec/spec_helper.rb
|
148
133
|
homepage: https://github.com/hpoydar/evernote-editor
|
149
134
|
licenses: []
|
135
|
+
metadata: {}
|
150
136
|
post_install_message:
|
151
137
|
rdoc_options: []
|
152
138
|
require_paths:
|
153
139
|
- lib
|
154
140
|
required_ruby_version: !ruby/object:Gem::Requirement
|
155
|
-
none: false
|
156
141
|
requirements:
|
157
|
-
- -
|
142
|
+
- - '>='
|
158
143
|
- !ruby/object:Gem::Version
|
159
144
|
version: '0'
|
160
145
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
146
|
requirements:
|
163
|
-
- -
|
147
|
+
- - '>='
|
164
148
|
- !ruby/object:Gem::Version
|
165
149
|
version: '0'
|
166
150
|
requirements: []
|
167
151
|
rubyforge_project:
|
168
|
-
rubygems_version:
|
152
|
+
rubygems_version: 2.0.3
|
169
153
|
signing_key:
|
170
|
-
specification_version:
|
154
|
+
specification_version: 4
|
171
155
|
summary: Command line creation and editing of Evernote notes
|
172
156
|
test_files:
|
173
157
|
- spec/evernote_editor/editor_spec.rb
|