joplin 1.0.2 → 1.2.0
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/Gemfile.lock +43 -21
- data/bin/joplin +49 -3
- data/bin/jp +4155 -0
- data/joplin.gemspec +16 -14
- data/lib/joplin/version.rb +1 -1
- data/lib/joplin.rb +46 -6
- metadata +69 -16
data/joplin.gemspec
CHANGED
|
@@ -3,22 +3,20 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
|
3
3
|
require 'joplin/version'
|
|
4
4
|
|
|
5
5
|
Gem::Specification.new do |spec|
|
|
6
|
-
spec.name
|
|
7
|
-
spec.version
|
|
8
|
-
spec.authors
|
|
9
|
-
spec.email
|
|
10
|
-
|
|
11
|
-
spec.
|
|
12
|
-
spec.
|
|
13
|
-
spec.
|
|
14
|
-
spec.
|
|
6
|
+
spec.name = 'joplin'
|
|
7
|
+
spec.version = Joplin::VERSION
|
|
8
|
+
spec.authors = ['Daniel Bretoi']
|
|
9
|
+
spec.email = ['daniel@bretoi.com']
|
|
10
|
+
spec.summary = 'joplin API'
|
|
11
|
+
spec.description = 'joplin API - joplin api tool, jp database tool'
|
|
12
|
+
spec.homepage = 'http://github.com/danielb2/joplin-ruby'
|
|
13
|
+
spec.license = 'MIT'
|
|
14
|
+
spec.required_ruby_version = '>=3.0.0'
|
|
15
15
|
|
|
16
16
|
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
|
17
17
|
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
|
18
18
|
if spec.respond_to?(:metadata)
|
|
19
19
|
spec.metadata['homepage_uri'] = spec.homepage
|
|
20
|
-
spec.metadata['source_code_uri'] = 'http://github.com/danielb2/joplin-ruby'
|
|
21
|
-
spec.metadata['changelog_uri'] = 'http://github.com/danielb2/joplin-ruby'
|
|
22
20
|
else
|
|
23
21
|
raise 'RubyGems 2.0 or newer is required to protect against ' \
|
|
24
22
|
'public gem pushes.'
|
|
@@ -33,9 +31,13 @@ Gem::Specification.new do |spec|
|
|
|
33
31
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }.reject { |f| f =~ /(console|setup)/ }
|
|
34
32
|
spec.require_paths = ['lib']
|
|
35
33
|
|
|
36
|
-
spec.add_dependency 'http', '~>
|
|
37
|
-
spec.add_dependency 'sqlite3', '~>
|
|
38
|
-
spec.add_dependency 'thor', '~> 1.
|
|
34
|
+
spec.add_dependency 'http', '~> 6.0.3'
|
|
35
|
+
spec.add_dependency 'sqlite3', '~> 2.9.4'
|
|
36
|
+
spec.add_dependency 'thor', '~> 1.5.0'
|
|
37
|
+
spec.add_dependency 'colorize', '~> 1.1.0'
|
|
38
|
+
spec.add_dependency 'minitest', '~> 6.0.0'
|
|
39
|
+
spec.add_dependency 'amazing_print'
|
|
40
|
+
spec.add_dependency 'tty-markdown', '~> 0.7.2'
|
|
39
41
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
|
40
42
|
spec.add_development_dependency 'rake', '~> 13.0'
|
|
41
43
|
spec.add_development_dependency 'rspec', '~> 3.12.0'
|
data/lib/joplin/version.rb
CHANGED
data/lib/joplin.rb
CHANGED
|
@@ -42,7 +42,7 @@ module Joplin
|
|
|
42
42
|
|
|
43
43
|
class Resource
|
|
44
44
|
class NotFound < Joplin::Error; end
|
|
45
|
-
attr_reader :id, :filename, :mime
|
|
45
|
+
attr_reader :id, :filename, :mime, :parsed
|
|
46
46
|
|
|
47
47
|
def self.all
|
|
48
48
|
url = "#{Joplin.uri}/resources/?token=#{Joplin.token}&fields=id,filename"
|
|
@@ -59,7 +59,7 @@ module Joplin
|
|
|
59
59
|
raise Error, 'need id' unless id
|
|
60
60
|
|
|
61
61
|
@id = id
|
|
62
|
-
url = "#{Joplin.uri}/resources/#{id}?token=#{Joplin.token}&fields=mime,filename,id"
|
|
62
|
+
url = "#{Joplin.uri}/resources/#{id}?token=#{Joplin.token}&fields=mime,filename,id,created_time,file_extension,size"
|
|
63
63
|
response = HTTP.get url
|
|
64
64
|
raise NotFound, "No resource found with id: #{id}" if response.code == 404
|
|
65
65
|
|
|
@@ -205,10 +205,50 @@ module Joplin
|
|
|
205
205
|
end
|
|
206
206
|
|
|
207
207
|
def notes
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
208
|
+
notes = []
|
|
209
|
+
page = 1
|
|
210
|
+
|
|
211
|
+
loop do
|
|
212
|
+
url = "#{Joplin.uri}/folders/#{@id}/notes?token=#{Joplin.token}&page=#{page}"
|
|
213
|
+
response = HTTP.get(url)
|
|
214
|
+
|
|
215
|
+
raise Error, "Failed to fetch notes: #{response}" if response.status != 200
|
|
216
|
+
|
|
217
|
+
data = JSON.parse(response.body)
|
|
218
|
+
|
|
219
|
+
items = data['items']
|
|
220
|
+
items.each { |note_data| notes << Joplin::Note.new(id: note_data['id']) }
|
|
221
|
+
|
|
222
|
+
break unless data['has_more']
|
|
223
|
+
|
|
224
|
+
page += 1
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
notes
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
def self.all
|
|
231
|
+
notebooks = []
|
|
232
|
+
page = 1
|
|
233
|
+
|
|
234
|
+
loop do
|
|
235
|
+
url = "#{Joplin.uri}/folders?token=#{Joplin.token}&page=#{page}"
|
|
236
|
+
response = HTTP.get(url)
|
|
237
|
+
|
|
238
|
+
raise Error, "Failed to fetch notebooks: #{response}" if response.status != 200
|
|
239
|
+
|
|
240
|
+
data = JSON.parse(response.body)
|
|
241
|
+
items = data['items']
|
|
242
|
+
|
|
243
|
+
break if items.empty?
|
|
244
|
+
|
|
245
|
+
# Collect Notebook instances
|
|
246
|
+
items.each { |notebook_data| notebooks << Notebook.new(notebook_data['id']) }
|
|
247
|
+
|
|
248
|
+
page += 1
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
notebooks
|
|
212
252
|
end
|
|
213
253
|
end
|
|
214
254
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: joplin
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Daniel Bretoi
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: http
|
|
@@ -16,42 +15,98 @@ dependencies:
|
|
|
16
15
|
requirements:
|
|
17
16
|
- - "~>"
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
18
|
+
version: 6.0.3
|
|
20
19
|
type: :runtime
|
|
21
20
|
prerelease: false
|
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
22
|
requirements:
|
|
24
23
|
- - "~>"
|
|
25
24
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
25
|
+
version: 6.0.3
|
|
27
26
|
- !ruby/object:Gem::Dependency
|
|
28
27
|
name: sqlite3
|
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
|
30
29
|
requirements:
|
|
31
30
|
- - "~>"
|
|
32
31
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
32
|
+
version: 2.9.4
|
|
34
33
|
type: :runtime
|
|
35
34
|
prerelease: false
|
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
36
|
requirements:
|
|
38
37
|
- - "~>"
|
|
39
38
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
39
|
+
version: 2.9.4
|
|
41
40
|
- !ruby/object:Gem::Dependency
|
|
42
41
|
name: thor
|
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
|
44
43
|
requirements:
|
|
45
44
|
- - "~>"
|
|
46
45
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 1.
|
|
46
|
+
version: 1.5.0
|
|
48
47
|
type: :runtime
|
|
49
48
|
prerelease: false
|
|
50
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
50
|
requirements:
|
|
52
51
|
- - "~>"
|
|
53
52
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 1.
|
|
53
|
+
version: 1.5.0
|
|
54
|
+
- !ruby/object:Gem::Dependency
|
|
55
|
+
name: colorize
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - "~>"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: 1.1.0
|
|
61
|
+
type: :runtime
|
|
62
|
+
prerelease: false
|
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - "~>"
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: 1.1.0
|
|
68
|
+
- !ruby/object:Gem::Dependency
|
|
69
|
+
name: minitest
|
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - "~>"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: 6.0.0
|
|
75
|
+
type: :runtime
|
|
76
|
+
prerelease: false
|
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - "~>"
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: 6.0.0
|
|
82
|
+
- !ruby/object:Gem::Dependency
|
|
83
|
+
name: amazing_print
|
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
|
85
|
+
requirements:
|
|
86
|
+
- - ">="
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: '0'
|
|
89
|
+
type: :runtime
|
|
90
|
+
prerelease: false
|
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
92
|
+
requirements:
|
|
93
|
+
- - ">="
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
version: '0'
|
|
96
|
+
- !ruby/object:Gem::Dependency
|
|
97
|
+
name: tty-markdown
|
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - "~>"
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: 0.7.2
|
|
103
|
+
type: :runtime
|
|
104
|
+
prerelease: false
|
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - "~>"
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: 0.7.2
|
|
55
110
|
- !ruby/object:Gem::Dependency
|
|
56
111
|
name: bundler
|
|
57
112
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -94,11 +149,12 @@ dependencies:
|
|
|
94
149
|
- - "~>"
|
|
95
150
|
- !ruby/object:Gem::Version
|
|
96
151
|
version: 3.12.0
|
|
97
|
-
description: joplin API
|
|
152
|
+
description: joplin API - joplin api tool, jp database tool
|
|
98
153
|
email:
|
|
99
154
|
- daniel@bretoi.com
|
|
100
155
|
executables:
|
|
101
156
|
- joplin
|
|
157
|
+
- jp
|
|
102
158
|
extensions: []
|
|
103
159
|
extra_rdoc_files: []
|
|
104
160
|
files:
|
|
@@ -112,6 +168,7 @@ files:
|
|
|
112
168
|
- Rakefile
|
|
113
169
|
- bin/console
|
|
114
170
|
- bin/joplin
|
|
171
|
+
- bin/jp
|
|
115
172
|
- bin/setup
|
|
116
173
|
- joplin.gemspec
|
|
117
174
|
- lib/joplin.rb
|
|
@@ -122,9 +179,6 @@ licenses:
|
|
|
122
179
|
- MIT
|
|
123
180
|
metadata:
|
|
124
181
|
homepage_uri: http://github.com/danielb2/joplin-ruby
|
|
125
|
-
source_code_uri: http://github.com/danielb2/joplin-ruby
|
|
126
|
-
changelog_uri: http://github.com/danielb2/joplin-ruby
|
|
127
|
-
post_install_message:
|
|
128
182
|
rdoc_options: []
|
|
129
183
|
require_paths:
|
|
130
184
|
- lib
|
|
@@ -132,15 +186,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
132
186
|
requirements:
|
|
133
187
|
- - ">="
|
|
134
188
|
- !ruby/object:Gem::Version
|
|
135
|
-
version:
|
|
189
|
+
version: 3.0.0
|
|
136
190
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
137
191
|
requirements:
|
|
138
192
|
- - ">="
|
|
139
193
|
- !ruby/object:Gem::Version
|
|
140
194
|
version: '0'
|
|
141
195
|
requirements: []
|
|
142
|
-
rubygems_version:
|
|
143
|
-
signing_key:
|
|
196
|
+
rubygems_version: 4.0.10
|
|
144
197
|
specification_version: 4
|
|
145
198
|
summary: joplin API
|
|
146
199
|
test_files: []
|