narou 2.0.1 → 2.0.2

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.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2bf57efdc6b81e6818f25ec3beb2a95fd297ac58
4
- data.tar.gz: 5b558dd2d75b0d6620cdc1e1bbe8523a92091535
3
+ metadata.gz: 043c638f9816fde957c543af9f9807cf741c17a1
4
+ data.tar.gz: 869b3cbdfbb91f27354813661f3951320fd410f0
5
5
  SHA512:
6
- metadata.gz: 73fa98dd4d77ad80a1c246abbbfa7173f57debfa5c7185d372c1b5328995907b0086aa58e049fdf7864324ccfbee31c6bc3982df00bddbac69ff648dbb0ef44c
7
- data.tar.gz: 1a33bec4833b159d1b64cd21f62893a228a3f50c83245fc77e0c2a1050d7406d0a1cce521161b5b6f4d7cf18207f95aefdbcc91106e7410af27602d70a89a3d4
6
+ metadata.gz: 85b167f112a0a557e8fe89459aa7712730322b2c3c4454ea1274987435d0b0b8f101704cdd9928218f091400b4904eac96db60f64e8a8895a71c26e8a220f97d
7
+ data.tar.gz: 2e4a35d78b0c44606a7f9deaacdc3b449b515478498c7f90f8dcd87651e59b5b478f21feb7322ebc3a8fa9a18a7becc59b373c38d5ae07632bbe67e3ef996d96
@@ -2,6 +2,19 @@
2
2
  更新履歴 - ChangeLog
3
3
  ====================
4
4
 
5
+ 2.0.2 : 2015/01/16
6
+ ------------------
7
+ #### 仕様変更
8
+ - 青空文庫形式のコメントの削除はWEB小説を変換する場合は無効にするように変更
9
+ - `web` コマンド実行時すでにサーバが立ち上がっていてもブラウザを開くように変更
10
+ - ダウンロード時に表示する節のタイトルを表示するタイミングを調整
11
+
12
+ #### Bug Fix
13
+ - WEB UI起動時には送信失敗リスト表示時に入力を求めないように修正
14
+ - ハーメルンの小説が非公開設定になるとエラーになるのを修正 #59
15
+ - `mail` コマンドで送信時にエラーが出る場合がある問題に対応
16
+
17
+
5
18
  2.0.1 : 2014/12/26
6
19
  ------------------
7
20
  #### Bug Fix
data/README.md CHANGED
@@ -26,6 +26,25 @@ Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンロ
26
26
  更新履歴 - ChangeLog
27
27
  --------------------
28
28
 
29
+ ### 2.0.2 : 2015/01/16
30
+
31
+ #### 仕様変更
32
+ - 青空文庫形式のコメントの削除はWEB小説を変換する場合は無効にするように変更
33
+ - `web` コマンド実行時すでにサーバが立ち上がっていてもブラウザを開くように変更
34
+ - ダウンロード時に表示する節のタイトルを表示するタイミングを調整
35
+
36
+ #### Bug Fix
37
+ - WEB UI起動時には送信失敗リスト表示時に入力を求めないように修正
38
+ - ハーメルンの小説が非公開設定になるとエラーになるのを修正 #59
39
+ - `mail` コマンドで送信時にエラーが出る場合がある問題に対応
40
+
41
+
42
+ ### 2.0.1 : 2014/12/26
43
+
44
+ #### Bug Fix
45
+ - ヘルプ画面の画像が表示出来ない場合があるのを修正
46
+
47
+
29
48
  ### 2.0.0 : 2014/12/26
30
49
 
31
50
  #### 追加機能
@@ -26,7 +26,7 @@ module Command
26
26
  puts "<red><bold>上記のファイルの送信に失敗しました。</bold></red>".termcolor
27
27
  puts "送信出来なかった原因を解消し、send コマンドを実行して下さい。"
28
28
  @@sending_error_list.clear
29
- if $stdin.tty?
29
+ if $stdin.tty? && Narou.web?.!
30
30
  puts
31
31
  puts "(何かキーを押して下さい)"
32
32
  $stdin.getch
@@ -96,6 +96,7 @@ module Command
96
96
  Narou::AppServer.run!
97
97
  push_server.quit
98
98
  rescue Errno::EADDRINUSE => e
99
+ Helper.open_browser(address) unless @options["no-browser"]
99
100
  STDOUT.puts <<-EOS
100
101
  #{e}
101
102
  ポートが使われています。サーバがすでに立ち上がっているかどうか確認して下さい。
@@ -519,7 +519,10 @@ class ConverterBase
519
519
  # コメントブロックを削除する
520
520
  #
521
521
  def erase_comments_block(data)
522
- data.gsub!(/^-{50,}\n.*^-{50,}\n/m, "")
522
+ if @text_type == "textfile"
523
+ data.gsub!(/^-{50,}\n.*?^-{50,}\n/m, "")
524
+ end
525
+ data
523
526
  end
524
527
 
525
528
  #
@@ -627,19 +627,19 @@ class Downloader
627
627
  @title
628
628
  end
629
629
 
630
- class DownloaderHTTP404Error < OpenURI::HTTPError
630
+ class DownloaderNotFoundError < OpenURI::HTTPError
631
631
  def initialize
632
632
  super("404 not found", nil)
633
633
  end
634
634
  end
635
635
 
636
636
  #
637
- # HTMLの中から小説が削除されたことを示すメッセージを検出する
637
+ # HTMLの中から小説が削除されたか非公開なことを示すメッセージを検出する
638
638
  #
639
- def detect_404_message(source)
640
- message = @setting["404_message"]
639
+ def detect_error_message(source)
640
+ message = @setting["error_message"]
641
641
  return false unless message
642
- source.include?(message)
642
+ source.match(message)
643
643
  end
644
644
 
645
645
  #
@@ -660,7 +660,7 @@ class Downloader
660
660
  toc_url = @setting["toc_url"]
661
661
  end
662
662
  toc_source = Helper.pretreatment_source(toc_fp.read, @setting["encoding"])
663
- raise DownloaderHTTP404Error if detect_404_message(toc_source)
663
+ raise DownloaderNotFoundError if detect_error_message(toc_source)
664
664
  end
665
665
  @setting.multi_match(toc_source, "tcode")
666
666
  #if @setting["narou_api_url"]
@@ -699,7 +699,7 @@ class Downloader
699
699
  toc_objects
700
700
  rescue OpenURI::HTTPError => e
701
701
  if e.message.include?("404")
702
- error "<bold><red>[404]</red></bold> 小説が削除されている可能性があります".termcolor
702
+ error "小説が削除されているか非公開な可能性があります"
703
703
  if @@database.novel_exists?(@id)
704
704
  $stdout.silence do
705
705
  Command::Tag.execute!(%W(#{@id} --add 404 --color white))
@@ -857,6 +857,9 @@ class Downloader
857
857
  index, subtitle, file_subtitle, chapter = %w(index subtitle file_subtitle chapter).map { |k|
858
858
  subtitle_info[k]
859
859
  }
860
+ info = subtitle_info.dup
861
+ info["element"] = a_section_download(subtitle_info)
862
+
860
863
  unless chapter.empty?
861
864
  puts "#{chapter}"
862
865
  end
@@ -869,8 +872,7 @@ class Downloader
869
872
  print "短編 "
870
873
  end
871
874
  print "#{subtitle} (#{i+1}/#{max})"
872
- info = subtitle_info.dup
873
- info["element"] = a_section_download(subtitle_info)
875
+
874
876
  section_file_name = "#{index} #{file_subtitle}.yaml"
875
877
  section_file_relative_path = File.join(SECTION_SAVE_DIR_NAME, section_file_name)
876
878
  if File.exist?(File.join(get_novel_data_dir, section_file_relative_path))
@@ -47,6 +47,7 @@ class Mailer
47
47
  end
48
48
 
49
49
  def send(message, attached_file_path = nil)
50
+ gem "mail", "2.5.4"
50
51
  require "pony"
51
52
  @error_message = ""
52
53
  params = @options.dup
@@ -3,5 +3,5 @@
3
3
  # Copyright 2013 whiteleaf. All rights reserved.
4
4
  #
5
5
 
6
- Version = "2.0.1"
6
+ Version = "2.0.2"
7
7
 
@@ -32,38 +32,17 @@ Gem::Specification.new do |gem|
32
32
  install_message = <<-EOS
33
33
  #{"*" * 79}
34
34
 
35
- 2.0.0 : 2014/12/26
35
+ 2.0.2 : 2015/01/16
36
36
  ------------------
37
- #### 追加機能
38
- - `web` コマンドを実装しました。ブラウザベースによるWEB UIを使うことが出来ます
39
- + `narou web` でWEBサーバを起動し、自動的にブラウザが開きます
40
- + ブラウザは可能な限り最新を推奨。IEは9以下は動きません
41
- - `download.use-subdirectory` オプションが追加されました。小説IDの先頭数文字で
42
- サブフォルダを作成しグループ分けすることで、大量の小説を管理する場合のパフォ
43
- ーマンス劣化に対応します
44
- + `narou s download.use-subdirectory=true` として設定出来ます
45
- + すでに管理済みの小説の保存フォルダは変更されません
46
- - ダウンロード時やアップデート時の最後に、容量不足等で書籍データを送信出来なか
47
- ったファイル一覧を表示するようにしました
48
-
49
37
  #### 仕様変更
50
- - 終了コードを整理しました
51
- + 正常終了時:0
52
- + 異常終了時:127
53
- + updateコマンド及びdownloadコマンドで失敗した場合:失敗した小説の数
54
- + settingコマンド:設定でエラーになった数
55
- - 見出しリスト.txt を保存しなくなりました
38
+ - 青空文庫形式のコメントの削除はWEB小説を変換する場合は無効にするように変更
39
+ - `web` コマンド実行時すでにサーバが立ち上がっていてもブラウザを開くように変更
40
+ - ダウンロード時に表示する節のタイトルを表示するタイミングを調整
56
41
 
57
42
  #### Bug Fix
58
- - 新規ダウンロードする際にエラーになる場合があったのを修正 #53
59
- - 小説家になろうのルビ仕様に準拠していない書式があったのを修正
60
-
61
- |が存在していなく、かつ《 》内に自動ルビ化対象文字以外がある場合に
62
- ルビ化はされない
63
-
64
- - 上記修正に伴い、ログ・ホライズン(n8725k)の converter.rb を差し替えました
65
- - Java がインストールされていない場合でも EPUB ファイルの作成が成功したと表示
66
- されてしまうのを修正 #55
43
+ - WEB UI起動時には送信失敗リスト表示時に入力を求めないように修正
44
+ - ハーメルンの小説が非公開設定になるとエラーになるのを修正 #59
45
+ - `mail` コマンドで送信時にエラーが出る場合がある問題に対応
67
46
 
68
47
 
69
48
  narou コマンドのインストール or アップデートが完了しました。
@@ -84,6 +63,7 @@ narou コマンドのインストール or アップデートが完了しまし
84
63
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
85
64
  gem.add_runtime_dependency 'termcolorlight', '~> 1.0', '>= 1.1.1'
86
65
  gem.add_runtime_dependency 'rubyzip', '~> 1.1', '>= 1.1.0'
66
+ gem.add_runtime_dependency 'mail', '2.5.4'
87
67
  gem.add_runtime_dependency 'pony', '~> 1.8'
88
68
  gem.add_runtime_dependency 'diff-lcs', '~> 1.2', '>= 1.2.5'
89
69
  gem.add_runtime_dependency 'sinatra', '~> 1.4', '>= 1.4.5'
@@ -0,0 +1,65 @@
1
+ # -*- Encoding: utf-8 -*-
2
+ #
3
+ # Copyright 2013 whiteleaf. All rights reserved.
4
+ #
5
+
6
+ require_relative "../lib/converterbase"
7
+
8
+ describe ConverterBase do
9
+ before do
10
+ @converter = ConverterBase.new(nil, nil, nil)
11
+ @converter.instance_variable_set(:@text_type, "textfile")
12
+ end
13
+
14
+ context "#erase_comments_block" do
15
+ context "コメントブロックが存在した場合" do
16
+ before do
17
+ @text = <<-EOS
18
+ abcdefg
19
+ --------------------------------------------------
20
+ hijklmn
21
+ --------------------------------------------------
22
+ opqrstu
23
+ EOS
24
+ end
25
+
26
+ it "削除する" do
27
+ expect(@converter.erase_comments_block(@text)).to eq <<-EOS
28
+ abcdefg
29
+ opqrstu
30
+ EOS
31
+ end
32
+
33
+ context "複数のコメントブロックが存在した場合" do
34
+ it "それぞれのブロックの中だけ削除する" do
35
+ text = @text * 2
36
+ expect(@converter.erase_comments_block(text)).to eq <<-EOS
37
+ abcdefg
38
+ opqrstu
39
+ abcdefg
40
+ opqrstu
41
+ EOS
42
+ end
43
+ end
44
+
45
+ context "@text_file が \"textfile\" ではなかった場合" do
46
+ it "削除しない" do
47
+ @converter.instance_variable_set(:@text_type, "body")
48
+ expect(@converter.erase_comments_block(@text)).to eq @text
49
+ end
50
+ end
51
+ end
52
+
53
+ it "コメントじゃなかった場合は削除しない(-が49文字以下)" do
54
+ text = <<-EOS
55
+ abcdefg
56
+ -------------------------------------------------
57
+ hijklmn
58
+ -------------------------------------------------
59
+ opqrstu
60
+ EOS
61
+ expect(@converter.erase_comments_block(text)).to eq text
62
+ end
63
+ end
64
+ end
65
+
@@ -18,7 +18,7 @@ subtitles: |-
18
18
 
19
19
  href: \\k<index>.html
20
20
 
21
- 404_message: 投稿者が削除、もしくは間違ったアドレスを指定しています
21
+ error_message: 投稿者が削除、もしくは間違ったアドレスを指定しています|この作品は完全非公開設定です
22
22
 
23
23
  # ------------------------------------------------------------
24
24
  # 本文取得設定
@@ -27,7 +27,7 @@ subtitles: |-
27
27
  # subupdate がない場合、更新チェックは subdate を使うようになる
28
28
  subupdate: no
29
29
 
30
- 404_message: エラー!恐らく存在しないスレッドを指定しています
30
+ error_message: エラー!恐らく存在しないスレッドを指定しています
31
31
 
32
32
  # ------------------------------------------------------------
33
33
  # 本文取得設定
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: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - whiteleaf7
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-26 00:00:00.000000000 Z
11
+ date: 2015-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: termcolorlight
@@ -50,6 +50,20 @@ dependencies:
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: 1.1.0
53
+ - !ruby/object:Gem::Dependency
54
+ name: mail
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - '='
58
+ - !ruby/object:Gem::Version
59
+ version: 2.5.4
60
+ type: :runtime
61
+ prerelease: false
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - '='
65
+ - !ruby/object:Gem::Version
66
+ version: 2.5.4
53
67
  - !ruby/object:Gem::Dependency
54
68
  name: pony
55
69
  requirement: !ruby/object:Gem::Requirement
@@ -311,6 +325,7 @@ files:
311
325
  - preset/ncode.syosetu.com/n9902bn/converter.rb
312
326
  - preset/vertical_font.css
313
327
  - spec/convert_spec.rb
328
+ - spec/converterbase_spec.rb
314
329
  - spec/data/convert_test/auto_indent/correct_test_auto_indent.txt
315
330
  - spec/data/convert_test/auto_indent/test_auto_indent.txt
316
331
  - spec/data/convert_test/auto_join_bracket/correct_test_auto_join_bracket.txt
@@ -379,38 +394,17 @@ metadata: {}
379
394
  post_install_message: |
380
395
  *******************************************************************************
381
396
 
382
- 2.0.0 : 2014/12/26
397
+ 2.0.2 : 2015/01/16
383
398
  ------------------
384
- #### 追加機能
385
- - `web` コマンドを実装しました。ブラウザベースによるWEB UIを使うことが出来ます
386
- + `narou web` でWEBサーバを起動し、自動的にブラウザが開きます
387
- + ブラウザは可能な限り最新を推奨。IEは9以下は動きません
388
- - `download.use-subdirectory` オプションが追加されました。小説IDの先頭数文字で
389
- サブフォルダを作成しグループ分けすることで、大量の小説を管理する場合のパフォ
390
- ーマンス劣化に対応します
391
- + `narou s download.use-subdirectory=true` として設定出来ます
392
- + すでに管理済みの小説の保存フォルダは変更されません
393
- - ダウンロード時やアップデート時の最後に、容量不足等で書籍データを送信出来なか
394
- ったファイル一覧を表示するようにしました
395
-
396
399
  #### 仕様変更
397
- - 終了コードを整理しました
398
- + 正常終了時:0
399
- + 異常終了時:127
400
- + updateコマンド及びdownloadコマンドで失敗した場合:失敗した小説の数
401
- + settingコマンド:設定でエラーになった数
402
- - 見出しリスト.txt を保存しなくなりました
400
+ - 青空文庫形式のコメントの削除はWEB小説を変換する場合は無効にするように変更
401
+ - `web` コマンド実行時すでにサーバが立ち上がっていてもブラウザを開くように変更
402
+ - ダウンロード時に表示する節のタイトルを表示するタイミングを調整
403
403
 
404
404
  #### Bug Fix
405
- - 新規ダウンロードする際にエラーになる場合があったのを修正 #53
406
- - 小説家になろうのルビ仕様に準拠していない書式があったのを修正
407
-
408
- |が存在していなく、かつ《 》内に自動ルビ化対象文字以外がある場合に
409
- ルビ化はされない
410
-
411
- - 上記修正に伴い、ログ・ホライズン(n8725k)の converter.rb を差し替えました
412
- - Java がインストールされていない場合でも EPUB ファイルの作成が成功したと表示
413
- されてしまうのを修正 #55
405
+ - WEB UI起動時には送信失敗リスト表示時に入力を求めないように修正
406
+ - ハーメルンの小説が非公開設定になるとエラーになるのを修正 #59
407
+ - `mail` コマンドで送信時にエラーが出る場合がある問題に対応
414
408
 
415
409
 
416
410
  narou コマンドのインストール or アップデートが完了しました。
@@ -436,12 +430,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
436
430
  version: '0'
437
431
  requirements: []
438
432
  rubyforge_project:
439
- rubygems_version: 2.4.4
433
+ rubygems_version: 2.4.5
440
434
  signing_key:
441
435
  specification_version: 4
442
436
  summary: Narou.rb ― 小説家になろうダウンローダ&縦書用整形スクリプト
443
437
  test_files:
444
438
  - spec/convert_spec.rb
439
+ - spec/converterbase_spec.rb
445
440
  - spec/data/convert_test/auto_indent/correct_test_auto_indent.txt
446
441
  - spec/data/convert_test/auto_indent/test_auto_indent.txt
447
442
  - spec/data/convert_test/auto_join_bracket/correct_test_auto_join_bracket.txt