readwise 0.1.0 → 0.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/.github/FUNDING.yml +3 -0
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +6 -3
- data/README.md +1 -1
- data/lib/readwise/book.rb +1 -0
- data/lib/readwise/client.rb +19 -14
- data/lib/readwise/version.rb +1 -1
- data/readwise.gemspec +2 -1
- metadata +23 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 77088f2664c1f2d285ed893bd5ef67d313971e75bfafcd5eaebb6f2e05177e62
|
|
4
|
+
data.tar.gz: 472f2d70b184549e9be6232399f821e5b7f99a24f964d716fcec913ec7cae5bb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1fd02d43c7ee4d4e5a47582abc46eecd25c1df344bc848df2b56bac9f6290a5a6e814432443d8f6884a6066b04713f166a3db1b022122edbf9fc0e68fdfd413b
|
|
7
|
+
data.tar.gz: 0e261d0744c012b2b0b9d80b77f1ee5b8e22f5e908681b41d8b0aef587771abc3d66244d4eb869ba1336dad4bf0ac3dd638c1d782f37ed18b9bcf82d1f2b6710
|
data/.github/FUNDING.yml
ADDED
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
readwise (0.
|
|
4
|
+
readwise (0.2.0)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
@@ -17,6 +17,8 @@ GEM
|
|
|
17
17
|
rspec-expectations (3.12.2)
|
|
18
18
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
19
19
|
rspec-support (~> 3.12.0)
|
|
20
|
+
rspec-file_fixtures (0.1.6)
|
|
21
|
+
rspec (~> 3.0)
|
|
20
22
|
rspec-mocks (3.12.2)
|
|
21
23
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
22
24
|
rspec-support (~> 3.12.0)
|
|
@@ -26,10 +28,11 @@ PLATFORMS
|
|
|
26
28
|
ruby
|
|
27
29
|
|
|
28
30
|
DEPENDENCIES
|
|
29
|
-
bundler (~>
|
|
31
|
+
bundler (~> 2.4.4)
|
|
30
32
|
rake (~> 10.0)
|
|
31
33
|
readwise!
|
|
32
34
|
rspec (~> 3.0)
|
|
35
|
+
rspec-file_fixtures (~> 0.1.6)
|
|
33
36
|
|
|
34
37
|
BUNDLED WITH
|
|
35
|
-
|
|
38
|
+
2.4.4
|
data/README.md
CHANGED
|
@@ -28,7 +28,7 @@ First, obtain an API access token from https://readwise.io/access_token.
|
|
|
28
28
|
client = Readwise::Client.new(token: token)
|
|
29
29
|
|
|
30
30
|
books = client.export # export all highlights
|
|
31
|
-
books = client.export(updated_after: '2023-01-
|
|
31
|
+
books = client.export(updated_after: '2023-01-17T22:02:48Z') # export recent highlights
|
|
32
32
|
books = client.export(book_ids: ['123']) # export specific highlights
|
|
33
33
|
|
|
34
34
|
puts books.first.title # books are Readwise::Book structs
|
data/lib/readwise/book.rb
CHANGED
data/lib/readwise/client.rb
CHANGED
|
@@ -35,20 +35,7 @@ module Readwise
|
|
|
35
35
|
private
|
|
36
36
|
|
|
37
37
|
def export_page(page_cursor: nil, updated_after: nil, book_ids: [])
|
|
38
|
-
|
|
39
|
-
params['updatedAfter'] = updated_after if updated_after
|
|
40
|
-
params['ids'] = book_ids if book_ids.any?
|
|
41
|
-
params['pageCursor'] = page_cursor if page_cursor
|
|
42
|
-
url = 'https://readwise.io/api/v2/export/?' + URI.encode_www_form(params)
|
|
43
|
-
export_uri = URI.parse(url)
|
|
44
|
-
export_req = Net::HTTP::Get.new(export_uri)
|
|
45
|
-
export_req['Authorization'] = "Token #{@token}"
|
|
46
|
-
export_res = Net::HTTP.start(export_uri.hostname, export_uri.port, use_ssl: true) do |http|
|
|
47
|
-
http.request(export_req)
|
|
48
|
-
end
|
|
49
|
-
raise Error, 'Export request failed' unless export_res.is_a?(Net::HTTPSuccess)
|
|
50
|
-
|
|
51
|
-
parsed_body = JSON.parse(export_res.body)
|
|
38
|
+
parsed_body = get_export_page(page_cursor: page_cursor, updated_after: updated_after, book_ids: book_ids)
|
|
52
39
|
results = parsed_body.dig('results').map do |item|
|
|
53
40
|
Book.new(
|
|
54
41
|
asin: item['asin'],
|
|
@@ -56,6 +43,7 @@ module Readwise
|
|
|
56
43
|
book_id: item['user_book_id'].to_s,
|
|
57
44
|
category: item['category'],
|
|
58
45
|
cover_image_url: item['cover_image_url'],
|
|
46
|
+
note: item['document_note'],
|
|
59
47
|
readable_title: item['readable_title'],
|
|
60
48
|
readwise_url: item['readwise_url'],
|
|
61
49
|
source: item['source'],
|
|
@@ -91,5 +79,22 @@ module Readwise
|
|
|
91
79
|
next_page_cursor: parsed_body.dig('nextPageCursor')
|
|
92
80
|
}
|
|
93
81
|
end
|
|
82
|
+
|
|
83
|
+
def get_export_page(page_cursor: nil, updated_after: nil, book_ids: [])
|
|
84
|
+
params = {}
|
|
85
|
+
params['updatedAfter'] = updated_after if updated_after
|
|
86
|
+
params['ids'] = book_ids if book_ids.any?
|
|
87
|
+
params['pageCursor'] = page_cursor if page_cursor
|
|
88
|
+
url = 'https://readwise.io/api/v2/export/?' + URI.encode_www_form(params)
|
|
89
|
+
export_uri = URI.parse(url)
|
|
90
|
+
export_req = Net::HTTP::Get.new(export_uri)
|
|
91
|
+
export_req['Authorization'] = "Token #{@token}"
|
|
92
|
+
export_res = Net::HTTP.start(export_uri.hostname, export_uri.port, use_ssl: true) do |http|
|
|
93
|
+
http.request(export_req)
|
|
94
|
+
end
|
|
95
|
+
raise Error, 'Export request failed' unless export_res.is_a?(Net::HTTPSuccess)
|
|
96
|
+
|
|
97
|
+
JSON.parse(export_res.body)
|
|
98
|
+
end
|
|
94
99
|
end
|
|
95
100
|
end
|
data/lib/readwise/version.rb
CHANGED
data/readwise.gemspec
CHANGED
|
@@ -36,7 +36,8 @@ Gem::Specification.new do |spec|
|
|
|
36
36
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
37
37
|
spec.require_paths = ["lib"]
|
|
38
38
|
|
|
39
|
-
spec.add_development_dependency "bundler", "~>
|
|
39
|
+
spec.add_development_dependency "bundler", "~> 2.4.4"
|
|
40
40
|
spec.add_development_dependency "rake", "~> 10.0"
|
|
41
41
|
spec.add_development_dependency "rspec", "~> 3.0"
|
|
42
|
+
spec.add_development_dependency "rspec-file_fixtures", "~> 0.1.6"
|
|
42
43
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: readwise
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Josh Beckman
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-
|
|
11
|
+
date: 2023-02-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 2.4.4
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: 2.4.4
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -52,6 +52,20 @@ dependencies:
|
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '3.0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: rspec-file_fixtures
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: 0.1.6
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: 0.1.6
|
|
55
69
|
description: Minimal Readwise API client and highlight parsing library
|
|
56
70
|
email:
|
|
57
71
|
- josh@joshbeckman.org
|
|
@@ -59,6 +73,7 @@ executables: []
|
|
|
59
73
|
extensions: []
|
|
60
74
|
extra_rdoc_files: []
|
|
61
75
|
files:
|
|
76
|
+
- ".github/FUNDING.yml"
|
|
62
77
|
- ".gitignore"
|
|
63
78
|
- CHANGELOG.md
|
|
64
79
|
- CODE_OF_CONDUCT.md
|
|
@@ -83,7 +98,7 @@ metadata:
|
|
|
83
98
|
homepage_uri: https://github.com/andjosh/readwise-ruby
|
|
84
99
|
source_code_uri: https://github.com/andjosh/readwise-ruby
|
|
85
100
|
changelog_uri: https://github.com/andjosh/readwise-ruby/blob/main/CHANGELOG.md
|
|
86
|
-
post_install_message:
|
|
101
|
+
post_install_message:
|
|
87
102
|
rdoc_options: []
|
|
88
103
|
require_paths:
|
|
89
104
|
- lib
|
|
@@ -98,8 +113,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
98
113
|
- !ruby/object:Gem::Version
|
|
99
114
|
version: '0'
|
|
100
115
|
requirements: []
|
|
101
|
-
rubygems_version: 3.
|
|
102
|
-
signing_key:
|
|
116
|
+
rubygems_version: 3.4.2
|
|
117
|
+
signing_key:
|
|
103
118
|
specification_version: 4
|
|
104
119
|
summary: Readwise API client
|
|
105
120
|
test_files: []
|