narou 3.4.8 → 3.7.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of narou might be problematic. Click here for more details.

@@ -54,7 +54,7 @@ module Narou
54
54
 
55
55
  def request_api(ncodes, limit = BATCH_LIMIT)
56
56
  url = "#{@api_url}?gzip=#{GZIP_LEVEL}&ncode=#{ncodes.join("-")}&of=#{@of}&lim=#{limit}&out=json"
57
- open(url) do |fp|
57
+ URI.open(url) do |fp|
58
58
  data = Zlib::GzipReader.wrap(fp).read.force_encoding(Encoding::UTF_8)
59
59
  results = JSON.parse(data)
60
60
  return if results[0]["allcount"].zero?
@@ -457,8 +457,8 @@ class NovelConverter
457
457
  processing_title = toc["title"]
458
458
  processing_title += "_#{index}" if index
459
459
  processed_title = decorate_title(processing_title)
460
- tempalte_name = (device && device.ibunko? ? NOVEL_TEXT_TEMPLATE_NAME_FOR_IBUNKO : NOVEL_TEXT_TEMPLATE_NAME)
461
- Template.get(tempalte_name, binding, 1.1)
460
+ template_name = (device && device.ibunko? ? NOVEL_TEXT_TEMPLATE_NAME_FOR_IBUNKO : NOVEL_TEXT_TEMPLATE_NAME)
461
+ Template.get(template_name, binding, 1.1)
462
462
  end
463
463
 
464
464
  #
@@ -698,15 +698,16 @@ class NovelConverter
698
698
  if section["chapter"].length > 0
699
699
  section["chapter"] = @converter.convert(section["chapter"], "chapter")
700
700
  end
701
+
701
702
  @inspector.subtitle = section["subtitle"]
702
703
  section["subtitle"] = @converter.convert(section["subtitle"], "subtitle")
703
704
  element = section["element"]
704
705
  data_type = element.delete("data_type") || "text"
705
706
  @converter.data_type = data_type
706
707
  element.each do |text_type, elm_text|
707
- if data_type == "html"
708
+ if data_type != "text"
708
709
  html.string = elm_text
709
- elm_text = html.to_aozora
710
+ elm_text = html.to_aozora(pre_html: data_type == "pre_html")
710
711
  end
711
712
  element[text_type] = @converter.convert(elm_text, text_type)
712
713
  end
@@ -48,7 +48,7 @@ class NovelInfo
48
48
  else
49
49
  cookie = @setting["cookie"] || ""
50
50
  open_uri_options = make_open_uri_options("Cookie" => cookie, allow_redirections: :safe)
51
- open(info_url, open_uri_options) do |fp|
51
+ URI.open(info_url, open_uri_options) do |fp|
52
52
  info_source = Helper.restore_entity(Helper.pretreatment_source(fp.read, @setting["encoding"]))
53
53
  raise Downloader::DownloaderNotFoundError if Downloader.detect_error_message(@setting, info_source)
54
54
  end
@@ -24,7 +24,7 @@ class SiteSetting
24
24
  load_paths = [
25
25
  Narou.script_dir.join(NOVEL_SITE_SETTING_DIR, "*.yaml"),
26
26
  Narou.root_dir.join(NOVEL_SITE_SETTING_DIR, "*.yaml")
27
- ].uniq.join("\0")
27
+ ].uniq
28
28
  Dir.glob(load_paths) do |path|
29
29
  setting = SiteSetting.load_file(path)
30
30
  name = setting["name"]
@@ -5,5 +5,5 @@
5
5
  #
6
6
 
7
7
  module Narou
8
- VERSION = "3.4.8"
8
+ VERSION = "3.7.0"
9
9
  end
@@ -187,7 +187,7 @@ class Narou::AppServer < Sinatra::Base
187
187
  headers "Cache-Control" => "no-cache" if $development
188
188
  @bootstrap_theme = case params["webui.theme"]
189
189
  when nil
190
- Narou.get_theme
190
+ Narou.theme
191
191
  when "" # 環境設定画面で未設定が選択された時
192
192
  nil
193
193
  else
@@ -835,8 +835,10 @@ class Narou::AppServer < Sinatra::Base
835
835
 
836
836
  # ダウンロード登録すると同時にグレーのボタン画像を返す
837
837
  get "/api/download4ssl" do
838
+ target = params["target"] or error("need a parameter: `target'")
839
+ opt_mail = "--mail" if query_to_boolean(params["mail"])
838
840
  Narou::WebWorker.push do
839
- CommandLine.run!("download", params["target"])
841
+ CommandLine.run!("download", target, opt_mail)
840
842
  @@push_server.send_all(:"table.reload")
841
843
  end
842
844
  redirect "/resources/images/dl_button1.gif"
@@ -16,8 +16,8 @@ class ProgressBar
16
16
 
17
17
  alias :original_initialize :initialize
18
18
 
19
- def initialize(*args)
20
- original_initialize(*args)
19
+ def initialize(*args, **opt)
20
+ original_initialize(*args, **opt)
21
21
  @@push_server.send_all("progressbar.init" => { target_console: io.target_console })
22
22
  end
23
23
 
@@ -32,13 +32,12 @@ Gem::Specification.new do |gem|
32
32
  install_message = <<-EOS
33
33
  #{"*" * 60}
34
34
 
35
- 3.4.8: 2019/11/27
35
+ 3.7.0: 2021/01/23
36
36
  -----------------
37
37
  #### 修正内容
38
- - 小説タイトルが長すぎる場合、backup コマンドでファイルを作成した際にエラーが
39
- 出るため、ファイル名を端折る処理を導入
40
- - `デスマーチからはじまる異世界狂想曲` のプリセットファイルにバグが混入していた
41
- のを修正
38
+ - Apple Silicon 搭載 Mac でも動く様にライブラリをアップデート
39
+ - device を kobo に設定し、_ebook-filename-length-limit でファイル名が制限され
40
+ た場合に send コマンドが正常に実行できない不具合を修正
42
41
 
43
42
  #{"*" * 60}
44
43
  EOS
@@ -54,16 +53,27 @@ Gem::Specification.new do |gem|
54
53
  gem.add_runtime_dependency 'mail', '~> 2.6.0', '>= 2.6.6'
55
54
  gem.add_runtime_dependency 'pony', '~> 1', '>= 1.11'
56
55
  gem.add_runtime_dependency 'diff-lcs', '~> 1.2', '>= 1.2.5'
57
- gem.add_runtime_dependency 'sinatra', '~> 1.4', '>= 1.4.5'
58
- gem.add_runtime_dependency 'sinatra-contrib', '~> 1.4', '>= 1.4.2'
56
+ gem.add_runtime_dependency 'sinatra', '~> 2.0', '>= 2.0.8.1'
57
+ gem.add_runtime_dependency 'sinatra-contrib', '~> 2.0', '>= 2.0.8.1'
59
58
  gem.add_runtime_dependency 'tilt', '~> 2.0', '>= 2.0.10'
60
- gem.add_runtime_dependency 'sass', '~> 3.4', '>= 3.4.18'
59
+ gem.add_runtime_dependency 'sassc', '~> 2.4'
60
+ gem.add_runtime_dependency 'ffi', '~> 1.4', '>= 1.4.2'
61
61
  gem.add_runtime_dependency 'haml', '>= 5.1.2', '< 6'
62
62
  gem.add_runtime_dependency 'memoist', '~> 0.11.0'
63
63
  gem.add_runtime_dependency 'systemu', '~> 2.6', '>= 2.6.5'
64
64
  gem.add_runtime_dependency 'erubis', '~> 2.7'
65
65
  gem.add_runtime_dependency 'open_uri_redirections', '~> 0.2', '>= 0.2.1'
66
- gem.add_runtime_dependency 'activesupport', '~> 5.2'
66
+ gem.add_runtime_dependency 'activesupport', '>= 6.1', '< 8.0'
67
67
  gem.add_runtime_dependency 'unicode-display_width', '~> 1.4'
68
+ gem.add_runtime_dependency 'webrick', '~> 1.7'
69
+
70
+ gem.add_development_dependency 'rspec', '~> 3.10'
71
+ gem.add_development_dependency 'rspec-retry', '~> 0.6'
72
+ gem.add_development_dependency 'rspec_junit_formatter', '~> 0.4'
73
+ gem.add_development_dependency 'timecop', '~> 0.9'
74
+ gem.add_development_dependency 'pry', '~> 0.12'
75
+ gem.add_development_dependency 'pry-byebug', '~> 3.8'
76
+ gem.add_development_dependency 'awesome_print', '~> 1.8'
77
+ gem.add_development_dependency 'simplecov', '~> 0.20'
68
78
  end
69
79
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: narou
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.8
4
+ version: 3.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - whiteleaf7
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-27 00:00:00.000000000 Z
11
+ date: 2021-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: termcolorlight
@@ -34,22 +34,22 @@ dependencies:
34
34
  name: rubyzip
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: 2.0.0
40
37
  - - "~>"
41
38
  - !ruby/object:Gem::Version
42
39
  version: '2.0'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 2.0.0
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: 2.0.0
50
47
  - - "~>"
51
48
  - !ruby/object:Gem::Version
52
49
  version: '2.0'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 2.0.0
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: mail
55
55
  requirement: !ruby/object:Gem::Requirement
@@ -116,40 +116,40 @@ dependencies:
116
116
  requirements:
117
117
  - - "~>"
118
118
  - !ruby/object:Gem::Version
119
- version: '1.4'
119
+ version: '2.0'
120
120
  - - ">="
121
121
  - !ruby/object:Gem::Version
122
- version: 1.4.5
122
+ version: 2.0.8.1
123
123
  type: :runtime
124
124
  prerelease: false
125
125
  version_requirements: !ruby/object:Gem::Requirement
126
126
  requirements:
127
127
  - - "~>"
128
128
  - !ruby/object:Gem::Version
129
- version: '1.4'
129
+ version: '2.0'
130
130
  - - ">="
131
131
  - !ruby/object:Gem::Version
132
- version: 1.4.5
132
+ version: 2.0.8.1
133
133
  - !ruby/object:Gem::Dependency
134
134
  name: sinatra-contrib
135
135
  requirement: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: '1.4'
139
+ version: '2.0'
140
140
  - - ">="
141
141
  - !ruby/object:Gem::Version
142
- version: 1.4.2
142
+ version: 2.0.8.1
143
143
  type: :runtime
144
144
  prerelease: false
145
145
  version_requirements: !ruby/object:Gem::Requirement
146
146
  requirements:
147
147
  - - "~>"
148
148
  - !ruby/object:Gem::Version
149
- version: '1.4'
149
+ version: '2.0'
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
- version: 1.4.2
152
+ version: 2.0.8.1
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: tilt
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -171,25 +171,39 @@ dependencies:
171
171
  - !ruby/object:Gem::Version
172
172
  version: 2.0.10
173
173
  - !ruby/object:Gem::Dependency
174
- name: sass
174
+ name: sassc
175
175
  requirement: !ruby/object:Gem::Requirement
176
176
  requirements:
177
177
  - - "~>"
178
178
  - !ruby/object:Gem::Version
179
- version: '3.4'
179
+ version: '2.4'
180
+ type: :runtime
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: '2.4'
187
+ - !ruby/object:Gem::Dependency
188
+ name: ffi
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '1.4'
180
194
  - - ">="
181
195
  - !ruby/object:Gem::Version
182
- version: 3.4.18
196
+ version: 1.4.2
183
197
  type: :runtime
184
198
  prerelease: false
185
199
  version_requirements: !ruby/object:Gem::Requirement
186
200
  requirements:
187
201
  - - "~>"
188
202
  - !ruby/object:Gem::Version
189
- version: '3.4'
203
+ version: '1.4'
190
204
  - - ">="
191
205
  - !ruby/object:Gem::Version
192
- version: 3.4.18
206
+ version: 1.4.2
193
207
  - !ruby/object:Gem::Dependency
194
208
  name: haml
195
209
  requirement: !ruby/object:Gem::Requirement
@@ -282,16 +296,22 @@ dependencies:
282
296
  name: activesupport
283
297
  requirement: !ruby/object:Gem::Requirement
284
298
  requirements:
285
- - - "~>"
299
+ - - ">="
286
300
  - !ruby/object:Gem::Version
287
- version: '5.2'
301
+ version: '6.1'
302
+ - - "<"
303
+ - !ruby/object:Gem::Version
304
+ version: '8.0'
288
305
  type: :runtime
289
306
  prerelease: false
290
307
  version_requirements: !ruby/object:Gem::Requirement
291
308
  requirements:
292
- - - "~>"
309
+ - - ">="
293
310
  - !ruby/object:Gem::Version
294
- version: '5.2'
311
+ version: '6.1'
312
+ - - "<"
313
+ - !ruby/object:Gem::Version
314
+ version: '8.0'
295
315
  - !ruby/object:Gem::Dependency
296
316
  name: unicode-display_width
297
317
  requirement: !ruby/object:Gem::Requirement
@@ -306,6 +326,132 @@ dependencies:
306
326
  - - "~>"
307
327
  - !ruby/object:Gem::Version
308
328
  version: '1.4'
329
+ - !ruby/object:Gem::Dependency
330
+ name: webrick
331
+ requirement: !ruby/object:Gem::Requirement
332
+ requirements:
333
+ - - "~>"
334
+ - !ruby/object:Gem::Version
335
+ version: '1.7'
336
+ type: :runtime
337
+ prerelease: false
338
+ version_requirements: !ruby/object:Gem::Requirement
339
+ requirements:
340
+ - - "~>"
341
+ - !ruby/object:Gem::Version
342
+ version: '1.7'
343
+ - !ruby/object:Gem::Dependency
344
+ name: rspec
345
+ requirement: !ruby/object:Gem::Requirement
346
+ requirements:
347
+ - - "~>"
348
+ - !ruby/object:Gem::Version
349
+ version: '3.10'
350
+ type: :development
351
+ prerelease: false
352
+ version_requirements: !ruby/object:Gem::Requirement
353
+ requirements:
354
+ - - "~>"
355
+ - !ruby/object:Gem::Version
356
+ version: '3.10'
357
+ - !ruby/object:Gem::Dependency
358
+ name: rspec-retry
359
+ requirement: !ruby/object:Gem::Requirement
360
+ requirements:
361
+ - - "~>"
362
+ - !ruby/object:Gem::Version
363
+ version: '0.6'
364
+ type: :development
365
+ prerelease: false
366
+ version_requirements: !ruby/object:Gem::Requirement
367
+ requirements:
368
+ - - "~>"
369
+ - !ruby/object:Gem::Version
370
+ version: '0.6'
371
+ - !ruby/object:Gem::Dependency
372
+ name: rspec_junit_formatter
373
+ requirement: !ruby/object:Gem::Requirement
374
+ requirements:
375
+ - - "~>"
376
+ - !ruby/object:Gem::Version
377
+ version: '0.4'
378
+ type: :development
379
+ prerelease: false
380
+ version_requirements: !ruby/object:Gem::Requirement
381
+ requirements:
382
+ - - "~>"
383
+ - !ruby/object:Gem::Version
384
+ version: '0.4'
385
+ - !ruby/object:Gem::Dependency
386
+ name: timecop
387
+ requirement: !ruby/object:Gem::Requirement
388
+ requirements:
389
+ - - "~>"
390
+ - !ruby/object:Gem::Version
391
+ version: '0.9'
392
+ type: :development
393
+ prerelease: false
394
+ version_requirements: !ruby/object:Gem::Requirement
395
+ requirements:
396
+ - - "~>"
397
+ - !ruby/object:Gem::Version
398
+ version: '0.9'
399
+ - !ruby/object:Gem::Dependency
400
+ name: pry
401
+ requirement: !ruby/object:Gem::Requirement
402
+ requirements:
403
+ - - "~>"
404
+ - !ruby/object:Gem::Version
405
+ version: '0.12'
406
+ type: :development
407
+ prerelease: false
408
+ version_requirements: !ruby/object:Gem::Requirement
409
+ requirements:
410
+ - - "~>"
411
+ - !ruby/object:Gem::Version
412
+ version: '0.12'
413
+ - !ruby/object:Gem::Dependency
414
+ name: pry-byebug
415
+ requirement: !ruby/object:Gem::Requirement
416
+ requirements:
417
+ - - "~>"
418
+ - !ruby/object:Gem::Version
419
+ version: '3.8'
420
+ type: :development
421
+ prerelease: false
422
+ version_requirements: !ruby/object:Gem::Requirement
423
+ requirements:
424
+ - - "~>"
425
+ - !ruby/object:Gem::Version
426
+ version: '3.8'
427
+ - !ruby/object:Gem::Dependency
428
+ name: awesome_print
429
+ requirement: !ruby/object:Gem::Requirement
430
+ requirements:
431
+ - - "~>"
432
+ - !ruby/object:Gem::Version
433
+ version: '1.8'
434
+ type: :development
435
+ prerelease: false
436
+ version_requirements: !ruby/object:Gem::Requirement
437
+ requirements:
438
+ - - "~>"
439
+ - !ruby/object:Gem::Version
440
+ version: '1.8'
441
+ - !ruby/object:Gem::Dependency
442
+ name: simplecov
443
+ requirement: !ruby/object:Gem::Requirement
444
+ requirements:
445
+ - - "~>"
446
+ - !ruby/object:Gem::Version
447
+ version: '0.20'
448
+ type: :development
449
+ prerelease: false
450
+ version_requirements: !ruby/object:Gem::Requirement
451
+ requirements:
452
+ - - "~>"
453
+ - !ruby/object:Gem::Version
454
+ version: '0.20'
309
455
  description: 小説家になろうで公開されている小説の管理、及び電子書籍データへの変換を支援します。縦書用に特化されており、横書き用に特化されたWEB小説を違和感なく縦書で読むことが出来るようになります。
310
456
  email:
311
457
  - 2nd.leaf@gmail.com
@@ -549,13 +695,12 @@ metadata: {}
549
695
  post_install_message: |
550
696
  ************************************************************
551
697
 
552
- 3.4.8: 2019/11/27
698
+ 3.7.0: 2021/01/23
553
699
  -----------------
554
700
  #### 修正内容
555
- - 小説タイトルが長すぎる場合、backup コマンドでファイルを作成した際にエラーが
556
- 出るため、ファイル名を端折る処理を導入
557
- - `デスマーチからはじまる異世界狂想曲` のプリセットファイルにバグが混入していた
558
- のを修正
701
+ - Apple Silicon 搭載 Mac でも動く様にライブラリをアップデート
702
+ - device を kobo に設定し、_ebook-filename-length-limit でファイル名が制限され
703
+ た場合に send コマンドが正常に実行できない不具合を修正
559
704
 
560
705
  ************************************************************
561
706
  rdoc_options: []
@@ -572,8 +717,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
572
717
  - !ruby/object:Gem::Version
573
718
  version: '0'
574
719
  requirements: []
575
- rubygems_version: 3.0.3
576
- signing_key:
720
+ rubygems_version: 3.2.3
721
+ signing_key:
577
722
  specification_version: 4
578
723
  summary: Narou.rb ― 小説家になろうダウンローダ&縦書用整形スクリプト
579
724
  test_files: []