nhkore 0.3.16 → 0.3.18
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/.yardopts +1 -1
- data/CHANGELOG.md +21 -1
- data/Gemfile +13 -1
- data/Gemfile.lock +27 -29
- data/Rakefile +19 -52
- data/bin/nhkore +0 -2
- data/lib/nhkore/app.rb +40 -42
- data/lib/nhkore/article.rb +8 -10
- data/lib/nhkore/article_scraper.rb +29 -28
- data/lib/nhkore/cleaner.rb +0 -2
- data/lib/nhkore/cli/fx_cmd.rb +16 -21
- data/lib/nhkore/cli/get_cmd.rb +4 -6
- data/lib/nhkore/cli/news_cmd.rb +12 -18
- data/lib/nhkore/cli/search_cmd.rb +8 -11
- data/lib/nhkore/cli/sift_cmd.rb +12 -14
- data/lib/nhkore/datetime_parser.rb +34 -36
- data/lib/nhkore/defn.rb +1 -3
- data/lib/nhkore/dict.rb +0 -2
- data/lib/nhkore/dict_scraper.rb +0 -2
- data/lib/nhkore/entry.rb +0 -2
- data/lib/nhkore/error.rb +0 -1
- data/lib/nhkore/fileable.rb +0 -1
- data/lib/nhkore/lib.rb +0 -2
- data/lib/nhkore/missingno.rb +0 -2
- data/lib/nhkore/news.rb +6 -9
- data/lib/nhkore/polisher.rb +0 -2
- data/lib/nhkore/scraper.rb +10 -8
- data/lib/nhkore/search_link.rb +10 -12
- data/lib/nhkore/search_scraper.rb +11 -9
- data/lib/nhkore/sifter.rb +6 -8
- data/lib/nhkore/splitter.rb +0 -2
- data/lib/nhkore/user_agents.rb +0 -1
- data/lib/nhkore/util.rb +7 -7
- data/lib/nhkore/variator.rb +2 -3
- data/lib/nhkore/version.rb +1 -2
- data/lib/nhkore/word.rb +7 -9
- data/lib/nhkore.rb +1 -3
- data/nhkore.gemspec +36 -45
- data/samples/looper.rb +0 -1
- data/test/nhkore/test_helper.rb +0 -7
- data/test/nhkore_test.rb +4 -8
- metadata +31 -128
- data/yard/templates/default/layout/html/footer.erb +0 -5
data/nhkore.gemspec
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
-
|
5
4
|
require_relative 'lib/nhkore/version'
|
6
5
|
|
7
6
|
Gem::Specification.new do |spec|
|
@@ -12,21 +11,23 @@ Gem::Specification.new do |spec|
|
|
12
11
|
spec.licenses = ['LGPL-3.0-or-later']
|
13
12
|
spec.homepage = 'https://github.com/esotericpig/nhkore'
|
14
13
|
spec.summary = 'NHK News Web (Easy) word frequency (core) scraper for Japanese language learners.'
|
15
|
-
spec.description =
|
16
|
-
|
17
|
-
|
14
|
+
spec.description = <<~DESC
|
15
|
+
Scrapes NHK News Web (Easy) for the word frequency (core list) for Japanese language learners.
|
16
|
+
Includes a CLI app and a scraper library.
|
17
|
+
DESC
|
18
18
|
|
19
19
|
spec.metadata = {
|
20
|
-
'
|
21
|
-
'
|
22
|
-
'
|
23
|
-
'
|
24
|
-
|
25
|
-
#'
|
26
|
-
#'
|
20
|
+
'rubygems_mfa_required' => 'true',
|
21
|
+
'homepage_uri' => 'https://github.com/esotericpig/nhkore',
|
22
|
+
'source_code_uri' => 'https://github.com/esotericpig/nhkore',
|
23
|
+
'bug_tracker_uri' => 'https://github.com/esotericpig/nhkore/issues',
|
24
|
+
'changelog_uri' => 'https://github.com/esotericpig/nhkore/blob/master/CHANGELOG.md',
|
25
|
+
# 'documentation_uri' => '',
|
26
|
+
# 'wiki_uri' => '',
|
27
|
+
# 'mailing_list_uri' => '',
|
27
28
|
}
|
28
29
|
|
29
|
-
spec.required_ruby_version = '>=
|
30
|
+
spec.required_ruby_version = '>= 3.1'
|
30
31
|
spec.requirements = [
|
31
32
|
'Nokogiri: https://www.nokogiri.org/tutorials/installing_nokogiri.html',
|
32
33
|
]
|
@@ -35,7 +36,7 @@ Gem::Specification.new do |spec|
|
|
35
36
|
spec.bindir = 'bin'
|
36
37
|
spec.executables = [spec.name]
|
37
38
|
|
38
|
-
spec.extra_rdoc_files = %w[ CHANGELOG.md
|
39
|
+
spec.extra_rdoc_files = %w[LICENSE.txt CHANGELOG.md README.md]
|
39
40
|
spec.rdoc_options = [
|
40
41
|
'--hyperlink-all','--show-hash',
|
41
42
|
'--title',"NHKore v#{NHKore::VERSION} Doc",
|
@@ -43,40 +44,30 @@ Gem::Specification.new do |spec|
|
|
43
44
|
]
|
44
45
|
|
45
46
|
spec.files = [
|
46
|
-
Dir.glob(
|
47
|
-
Dir.glob(
|
48
|
-
Dir.glob(
|
49
|
-
%W[
|
47
|
+
Dir.glob("{#{spec.require_paths.join(',')}}/**/*.{erb,rb}"),
|
48
|
+
Dir.glob("#{spec.bindir}/{#{spec.executables.join(',')}}"),
|
49
|
+
Dir.glob('{samples,spec,test,yard}/**/*.{erb,rb}'),
|
50
|
+
%W[Gemfile Gemfile.lock #{spec.name}.gemspec Rakefile .yardopts],
|
50
51
|
spec.extra_rdoc_files,
|
51
52
|
].flatten
|
52
53
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
dev_dep = spec.method(:add_development_dependency)
|
72
|
-
dev_dep[ 'bundler' ,'~> 2.5' ]
|
73
|
-
dev_dep[ 'minitest' ,'~> 5.25' ]
|
74
|
-
dev_dep[ 'rake' ,'~> 13.2' ]
|
75
|
-
dev_dep[ 'raketeer' ,'~> 0.2' ] # Extra Rake tasks.
|
76
|
-
dev_dep[ 'rdoc' ,'~> 6.7' ] # YARDoc RDoc (*.rb).
|
77
|
-
dev_dep[ 'redcarpet' ,'~> 3.6' ] # YARDoc Markdown (*.md).
|
78
|
-
dev_dep[ 'yard' ,'~> 0.9' ] # Doc.
|
79
|
-
dev_dep[ 'yard_ghurt','~> 1.2' ] # Extra YARDoc Rake tasks.
|
54
|
+
spec.add_dependency 'attr_bool' ,'~> 0.2' # attr_accessor?/attr_reader?.
|
55
|
+
spec.add_dependency 'bimyou_segmenter' ,'~> 1.2' # Split Japanese sentences into words.
|
56
|
+
spec.add_dependency 'cri' ,'~> 2.15' # CLI commands/options.
|
57
|
+
spec.add_dependency 'csv' ,'~> 3.3' # Output CSV.
|
58
|
+
spec.add_dependency 'down' ,'~> 5.4' # Download files (GetCmd).
|
59
|
+
spec.add_dependency 'highline' ,'~> 3.1' # CLI input/output.
|
60
|
+
spec.add_dependency 'http-cookie' ,'~> 1.0' # Parse/Set cookies [(Bing)Scraper].
|
61
|
+
spec.add_dependency 'japanese_deinflector','~> 0.0' # Un-conjugate Japanese words (dictionary form).
|
62
|
+
spec.add_dependency 'nokogiri' ,'~> 1' # Scrape HTML.
|
63
|
+
spec.add_dependency 'psychgus' ,'~> 1.3' # Style Psych YAML.
|
64
|
+
spec.add_dependency 'public_suffix' ,'~> 6.0' # Parse URL domain names.
|
65
|
+
spec.add_dependency 'rainbow' ,'~> 3.1' # CLI color output.
|
66
|
+
spec.add_dependency 'rss' ,'~> 0.3' # Scrape RSS feeds [(Bing)Scraper].
|
67
|
+
spec.add_dependency 'rubyzip' ,'~> 2.4' # Extract Zip files (GetCmd).
|
68
|
+
spec.add_dependency 'tiny_segmenter' ,'~> 0.0' # Split Japanese sentences into words.
|
69
|
+
spec.add_dependency 'tty-progressbar' ,'~> 0.18' # CLI progress bars.
|
70
|
+
spec.add_dependency 'tty-spinner' ,'~> 0.9' # CLI spinning progress.
|
80
71
|
|
81
72
|
spec.post_install_message = <<~MSG
|
82
73
|
+=============================================================================+
|
@@ -92,5 +83,5 @@ Gem::Specification.new do |spec|
|
|
92
83
|
MSG
|
93
84
|
|
94
85
|
# Uncomment to see max line length:
|
95
|
-
#puts spec.post_install_message.split("\n").map(&:length).max
|
86
|
+
# puts spec.post_install_message.split("\n").map(&:length).max
|
96
87
|
end
|
data/samples/looper.rb
CHANGED
data/test/nhkore/test_helper.rb
CHANGED
data/test/nhkore_test.rb
CHANGED
@@ -8,16 +8,12 @@
|
|
8
8
|
# SPDX-License-Identifier: LGPL-3.0-or-later
|
9
9
|
#++
|
10
10
|
|
11
|
-
|
12
11
|
require 'nhkore/test_helper'
|
13
12
|
|
13
|
+
describe(NHKore) do
|
14
|
+
subject { NHKore }
|
14
15
|
|
15
|
-
|
16
|
-
|
17
|
-
def setup
|
18
|
-
end
|
19
|
-
|
20
|
-
def test_something
|
21
|
-
end
|
16
|
+
it 'has version' do
|
17
|
+
expect(subject::VERSION).wont_be_nil
|
22
18
|
end
|
23
19
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nhkore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Bradley Whited
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-04-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: attr_bool
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '2.15'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: csv
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.3'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.3'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: down
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,14 +128,14 @@ dependencies:
|
|
114
128
|
requirements:
|
115
129
|
- - "~>"
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version: '1
|
131
|
+
version: '1'
|
118
132
|
type: :runtime
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
136
|
- - "~>"
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version: '1
|
138
|
+
version: '1'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: psychgus
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -184,14 +198,14 @@ dependencies:
|
|
184
198
|
requirements:
|
185
199
|
- - "~>"
|
186
200
|
- !ruby/object:Gem::Version
|
187
|
-
version: '2.
|
201
|
+
version: '2.4'
|
188
202
|
type: :runtime
|
189
203
|
prerelease: false
|
190
204
|
version_requirements: !ruby/object:Gem::Requirement
|
191
205
|
requirements:
|
192
206
|
- - "~>"
|
193
207
|
- !ruby/object:Gem::Version
|
194
|
-
version: '2.
|
208
|
+
version: '2.4'
|
195
209
|
- !ruby/object:Gem::Dependency
|
196
210
|
name: tiny_segmenter
|
197
211
|
requirement: !ruby/object:Gem::Requirement
|
@@ -234,128 +248,17 @@ dependencies:
|
|
234
248
|
- - "~>"
|
235
249
|
- !ruby/object:Gem::Version
|
236
250
|
version: '0.9'
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
requirements:
|
241
|
-
- - "~>"
|
242
|
-
- !ruby/object:Gem::Version
|
243
|
-
version: '2.5'
|
244
|
-
type: :development
|
245
|
-
prerelease: false
|
246
|
-
version_requirements: !ruby/object:Gem::Requirement
|
247
|
-
requirements:
|
248
|
-
- - "~>"
|
249
|
-
- !ruby/object:Gem::Version
|
250
|
-
version: '2.5'
|
251
|
-
- !ruby/object:Gem::Dependency
|
252
|
-
name: minitest
|
253
|
-
requirement: !ruby/object:Gem::Requirement
|
254
|
-
requirements:
|
255
|
-
- - "~>"
|
256
|
-
- !ruby/object:Gem::Version
|
257
|
-
version: '5.25'
|
258
|
-
type: :development
|
259
|
-
prerelease: false
|
260
|
-
version_requirements: !ruby/object:Gem::Requirement
|
261
|
-
requirements:
|
262
|
-
- - "~>"
|
263
|
-
- !ruby/object:Gem::Version
|
264
|
-
version: '5.25'
|
265
|
-
- !ruby/object:Gem::Dependency
|
266
|
-
name: rake
|
267
|
-
requirement: !ruby/object:Gem::Requirement
|
268
|
-
requirements:
|
269
|
-
- - "~>"
|
270
|
-
- !ruby/object:Gem::Version
|
271
|
-
version: '13.2'
|
272
|
-
type: :development
|
273
|
-
prerelease: false
|
274
|
-
version_requirements: !ruby/object:Gem::Requirement
|
275
|
-
requirements:
|
276
|
-
- - "~>"
|
277
|
-
- !ruby/object:Gem::Version
|
278
|
-
version: '13.2'
|
279
|
-
- !ruby/object:Gem::Dependency
|
280
|
-
name: raketeer
|
281
|
-
requirement: !ruby/object:Gem::Requirement
|
282
|
-
requirements:
|
283
|
-
- - "~>"
|
284
|
-
- !ruby/object:Gem::Version
|
285
|
-
version: '0.2'
|
286
|
-
type: :development
|
287
|
-
prerelease: false
|
288
|
-
version_requirements: !ruby/object:Gem::Requirement
|
289
|
-
requirements:
|
290
|
-
- - "~>"
|
291
|
-
- !ruby/object:Gem::Version
|
292
|
-
version: '0.2'
|
293
|
-
- !ruby/object:Gem::Dependency
|
294
|
-
name: rdoc
|
295
|
-
requirement: !ruby/object:Gem::Requirement
|
296
|
-
requirements:
|
297
|
-
- - "~>"
|
298
|
-
- !ruby/object:Gem::Version
|
299
|
-
version: '6.7'
|
300
|
-
type: :development
|
301
|
-
prerelease: false
|
302
|
-
version_requirements: !ruby/object:Gem::Requirement
|
303
|
-
requirements:
|
304
|
-
- - "~>"
|
305
|
-
- !ruby/object:Gem::Version
|
306
|
-
version: '6.7'
|
307
|
-
- !ruby/object:Gem::Dependency
|
308
|
-
name: redcarpet
|
309
|
-
requirement: !ruby/object:Gem::Requirement
|
310
|
-
requirements:
|
311
|
-
- - "~>"
|
312
|
-
- !ruby/object:Gem::Version
|
313
|
-
version: '3.6'
|
314
|
-
type: :development
|
315
|
-
prerelease: false
|
316
|
-
version_requirements: !ruby/object:Gem::Requirement
|
317
|
-
requirements:
|
318
|
-
- - "~>"
|
319
|
-
- !ruby/object:Gem::Version
|
320
|
-
version: '3.6'
|
321
|
-
- !ruby/object:Gem::Dependency
|
322
|
-
name: yard
|
323
|
-
requirement: !ruby/object:Gem::Requirement
|
324
|
-
requirements:
|
325
|
-
- - "~>"
|
326
|
-
- !ruby/object:Gem::Version
|
327
|
-
version: '0.9'
|
328
|
-
type: :development
|
329
|
-
prerelease: false
|
330
|
-
version_requirements: !ruby/object:Gem::Requirement
|
331
|
-
requirements:
|
332
|
-
- - "~>"
|
333
|
-
- !ruby/object:Gem::Version
|
334
|
-
version: '0.9'
|
335
|
-
- !ruby/object:Gem::Dependency
|
336
|
-
name: yard_ghurt
|
337
|
-
requirement: !ruby/object:Gem::Requirement
|
338
|
-
requirements:
|
339
|
-
- - "~>"
|
340
|
-
- !ruby/object:Gem::Version
|
341
|
-
version: '1.2'
|
342
|
-
type: :development
|
343
|
-
prerelease: false
|
344
|
-
version_requirements: !ruby/object:Gem::Requirement
|
345
|
-
requirements:
|
346
|
-
- - "~>"
|
347
|
-
- !ruby/object:Gem::Version
|
348
|
-
version: '1.2'
|
349
|
-
description: Scrapes NHK News Web (Easy) for the word frequency (core list) for Japanese
|
350
|
-
language learners. Includes a CLI app and a scraper library.
|
251
|
+
description: |
|
252
|
+
Scrapes NHK News Web (Easy) for the word frequency (core list) for Japanese language learners.
|
253
|
+
Includes a CLI app and a scraper library.
|
351
254
|
email:
|
352
255
|
- code@esotericpig.com
|
353
256
|
executables:
|
354
257
|
- nhkore
|
355
258
|
extensions: []
|
356
259
|
extra_rdoc_files:
|
357
|
-
- CHANGELOG.md
|
358
260
|
- LICENSE.txt
|
261
|
+
- CHANGELOG.md
|
359
262
|
- README.md
|
360
263
|
files:
|
361
264
|
- ".yardopts"
|
@@ -401,18 +304,18 @@ files:
|
|
401
304
|
- samples/looper.rb
|
402
305
|
- test/nhkore/test_helper.rb
|
403
306
|
- test/nhkore_test.rb
|
404
|
-
- yard/templates/default/layout/html/footer.erb
|
405
307
|
homepage: https://github.com/esotericpig/nhkore
|
406
308
|
licenses:
|
407
309
|
- LGPL-3.0-or-later
|
408
310
|
metadata:
|
311
|
+
rubygems_mfa_required: 'true'
|
409
312
|
homepage_uri: https://github.com/esotericpig/nhkore
|
410
313
|
source_code_uri: https://github.com/esotericpig/nhkore
|
411
314
|
bug_tracker_uri: https://github.com/esotericpig/nhkore/issues
|
412
315
|
changelog_uri: https://github.com/esotericpig/nhkore/blob/master/CHANGELOG.md
|
413
316
|
post_install_message: |
|
414
317
|
+=============================================================================+
|
415
|
-
| NHKore v0.3.
|
318
|
+
| NHKore v0.3.18
|
416
319
|
|
|
417
320
|
| You can now use [nhkore] on the command line.
|
418
321
|
|
|
@@ -425,7 +328,7 @@ rdoc_options:
|
|
425
328
|
- "--hyperlink-all"
|
426
329
|
- "--show-hash"
|
427
330
|
- "--title"
|
428
|
-
- NHKore v0.3.
|
331
|
+
- NHKore v0.3.18 Doc
|
429
332
|
- "--main"
|
430
333
|
- README.md
|
431
334
|
require_paths:
|
@@ -434,7 +337,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
434
337
|
requirements:
|
435
338
|
- - ">="
|
436
339
|
- !ruby/object:Gem::Version
|
437
|
-
version: '
|
340
|
+
version: '3.1'
|
438
341
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
439
342
|
requirements:
|
440
343
|
- - ">="
|
@@ -442,8 +345,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
442
345
|
version: '0'
|
443
346
|
requirements:
|
444
347
|
- 'Nokogiri: https://www.nokogiri.org/tutorials/installing_nokogiri.html'
|
445
|
-
rubygems_version: 3.
|
446
|
-
signing_key:
|
348
|
+
rubygems_version: 3.5.21
|
349
|
+
signing_key:
|
447
350
|
specification_version: 4
|
448
351
|
summary: NHK News Web (Easy) word frequency (core) scraper for Japanese language learners.
|
449
352
|
test_files: []
|