narou 3.3.1 → 3.3.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
  SHA256:
3
- metadata.gz: 126b3f135deaeaecd4de2d248ee0d4d5c7977c2fad56f295f5ac7bd7d96546e9
4
- data.tar.gz: cecdcaf6f254e9a55eb85e92ddfe75782cb3b3c5fe5ce1219cdc6d785b79713f
3
+ metadata.gz: 1f09ac1c46f81f95ba960a3133e3496c495250406ca46bbf46bd00f89fa25f51
4
+ data.tar.gz: 5eed031b2b27c19389fb6ce445ecf82a1917ca327510763045f4efe9f4d01a2d
5
5
  SHA512:
6
- metadata.gz: 84f766ee89390aebcc115245d514b7edbc7301bc4bf53aeee47f09b0ebaf06e56a6b8ee57abfa93fe4e3696a1a8ced83b22cc5b5d30c01351191908467341d77
7
- data.tar.gz: cfbf66fac201f8a8bf6478125eee2b672f75ced5feec61a16cddb6799142708bf453c01a1108a8e23eb779ff03e0ea372ca7377496820f1c1d7b3d1597ceaa5d
6
+ metadata.gz: 542566318062fd3e2b9f08412e37629c479d9dccfd5afc72ff96ae8cf8eeb621de9bd5d285fa8fb1f182a37bc6a873eb71da7d453fd9ab55b9fa75ddb028bfca
7
+ data.tar.gz: 841d2cb8f90d0fd41506fd397252598579747c1876a3bf1bec13a0f364d8a7778edcabb89771f1479b106b0b4375a798d9c38852fd2b7971e98df39b8aacdb9f
@@ -1,5 +1,10 @@
1
1
  更新履歴 - ChangeLog
2
2
  ====================
3
+ 3.3.2: 2018/10/14
4
+ ------------------
5
+ #### 修正内容
6
+ - バックアップ中に変換が実行されるとバックアップがクラッシュする場合があった
7
+
3
8
 
4
9
  3.3.1: 2018/09/29
5
10
  ------------------
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- narou (3.3.0)
4
+ narou (3.3.2)
5
5
  activesupport (~> 5.2)
6
6
  diff-lcs (~> 1.2, >= 1.2.5)
7
7
  erubis (~> 2.7)
@@ -99,7 +99,7 @@ GEM
99
99
  rspec_junit_formatter (0.4.1)
100
100
  rspec-core (>= 2, < 4, != 2.12.0)
101
101
  rubyzip (1.2.2)
102
- sass (3.5.7)
102
+ sass (3.6.0)
103
103
  sass-listen (~> 4.0.0)
104
104
  sass-listen (4.0.0)
105
105
  rb-fsevent (~> 0.9, >= 0.9.4)
data/README.md CHANGED
@@ -34,6 +34,12 @@ Narou.rb - 小説家になろうダウンローダー&電子書籍端末での
34
34
  更新履歴 - ChangeLog
35
35
  --------------------
36
36
 
37
+ 3.3.2: 2018/10/14
38
+ ------------------
39
+ #### 修正内容
40
+ - バックアップ中に変換が実行されるとバックアップがクラッシュする場合があった
41
+
42
+
37
43
  3.3.1: 2018/09/29
38
44
  ------------------
39
45
  #### 修正内容
@@ -36,29 +36,33 @@ module Command
36
36
 
37
37
  def create_backup(data)
38
38
  zipfilename = create_backup_filename(data)
39
- pwd = Dir.pwd
40
39
  novel_dir = Downloader.get_novel_data_dir_by_target(data["id"])
41
- Dir.chdir(novel_dir)
42
- paths = Dir.glob("**/*").keep_if { |path|
43
- File.file?(path) && path.split("/", 2)[0] != BACKUP_DIR_NAME
40
+ paths = novel_dir.glob("**/*").keep_if { |path|
41
+ relative_path = path_to_relative(novel_dir, path)
42
+ path.file? && relative_path.to_s.split("/", 2)[0] != BACKUP_DIR_NAME
44
43
  }
45
- FileUtils.mkdir(BACKUP_DIR_NAME) unless File.exist?(BACKUP_DIR_NAME)
44
+ backup_dir = novel_dir.join(BACKUP_DIR_NAME)
45
+ backup_dir.mkdir unless backup_dir.exist?
46
46
  Zip.unicode_names = true unless Helper.os_windows?
47
- Zip::File.open(File.join(BACKUP_DIR_NAME, zipfilename), Zip::File::CREATE) do |zip|
47
+ Zip::File.open(backup_dir.join(zipfilename), Zip::File::CREATE) do |zip|
48
48
  paths.each do |path|
49
- if Helper.os_windows?
50
- zipped_filename = path.encode(Encoding::Windows_31J,
51
- invalid: :replace, undef: :replace, replace: "_")
52
- else
53
- zipped_filename = path
54
- end
49
+ relative_path = path_to_relative(novel_dir, path).to_s
50
+ zipped_filename =
51
+ if Helper.os_windows?
52
+ relative_path.encode(Encoding::Windows_31J, invalid: :replace, undef: :replace, replace: "_")
53
+ else
54
+ relative_path
55
+ end
55
56
  zip.add(zipped_filename, path)
56
57
  end
57
58
  end
58
- Dir.chdir(pwd)
59
59
  zipfilename
60
60
  end
61
61
 
62
+ def path_to_relative(base, path)
63
+ path.sub("#{base}/", "")
64
+ end
65
+
62
66
  def execute(argv)
63
67
  super
64
68
  display_help! if argv.empty?
@@ -1408,11 +1408,11 @@ class ConverterBase
1408
1408
  rebuild_english_sentences(data)
1409
1409
  rebuild_hankaku_num_and_comma(data)
1410
1410
  rebuild_kome_to_gaiji(data)
1411
- rebuild_force_indent_special_chapter(data)
1412
1411
  if @text_type == "body" || @text_type == "textfile"
1413
1412
  half_indent_bracket(data)
1414
1413
  auto_indent(data)
1415
1414
  end
1415
+ rebuild_force_indent_special_chapter(data)
1416
1416
  # 再構築された文章にルビがふられる可能性を考慮して、
1417
1417
  # この位置でルビの処理を行う
1418
1418
  narou_ruby(data) if @setting.enable_ruby
@@ -5,5 +5,5 @@
5
5
  #
6
6
 
7
7
  module Narou
8
- VERSION = "3.3.1"
8
+ VERSION = "3.3.2"
9
9
  end
@@ -32,97 +32,10 @@ Gem::Specification.new do |gem|
32
32
  install_message = <<-EOS
33
33
  #{"*" * 60}
34
34
 
35
- 3.3.1: 2018/09/29
35
+ 3.3.2: 2018/10/14
36
36
  ------------------
37
37
  #### 修正内容
38
- - Windows において、ユーザー名や管理フォルダに全角文字が含まれている場合に、
39
- エラーが出るようになっていた
40
-
41
-
42
- 3.3.0: 2018/09/22
43
- ------------------
44
- #### 追加機能
45
- - ダウンロード(や更新)と変換の同時実行が可能になりました
46
- + 環境設定の concurrency オプションを有効にすることで使用可能になります
47
- + 大規模な変更なので、不安定な恐れあり。使う場合はバックアップを万全に
48
- + 有効にすると表示されるログの出力形式が変更されます。CUI では特殊な形式に
49
- なり、WEB UIではコンソールが物理的に2つになります。CUI の表示については
50
- concurrency.format-queue-style で調整出来ます。詳細は narou s -h を参照
51
- + アップデート時の変換を中断した場合に、次回更新時に変換を再試行する機能が
52
- concurrency が有効な場合は動きません。これは現時点では仕様です
53
-
54
- - ログが保存出来るようになりました
55
- + 環境設定 logging オプションを追加しました。有効にすることでほぼすべての
56
- ログを保存します
57
- * diff や list コマンド、ヘルプなどの、出力が多く表示すること自体が目的の
58
- 一部コマンドの出力はログには保存しません
59
- * ログのフォーマットとしてlogging.format-filename, logging.format-timestamp
60
- も追加されています。詳細は narou s -h を参照
61
- * concurrency が有効な場合、通常ログと変換ログに分けられます。通常ログの
62
- ファイル名が 20180831.txt だった場合、変換ログは 20180831_convert.txt に
63
- 保存されます(log コマンドで簡単に表示できます)
64
- + log コマンドを実装しました。logging オプションで保存されるログを表示する
65
- ことが出来ます。tail -f のようなストリーミング機能も付いています。詳細は
66
- narou log -h を参照
67
- * concurrency で更新と変換を同時実行中は基本的に更新のログだけ表示されるの
68
- で、コンソールを分割して片方で narou update を実行して更新ログを表示して
69
- もう片方で narou log -ct で変換ログを垂れ流すみたいな使い方を想定
70
-
71
- - ダウンロードを中断しても、再開(レジューム)出来るようになりました
72
- + download で新規小説をダウンロードしていたのを中断した場合は、updateコマンド
73
- で再開出来ます(再開部分は新着扱いになります)
74
- + この仕様追加の影響で、今までは新規ダウンロードを中断した場合は(ネットワーク
75
- エラーや手動など手段問わず)データベースに登録されなかったのが、登録される
76
- 様になりました
77
- + 中断した小説は変換ができません。update で再開して最後までDLしきってください
78
-
79
- - 環境設定に folder-length-limit を追加しました。小説を格納するフォルダ名の長さ
80
- 制限を設定出来ます。(デフォルトでは50文字)
81
- + この設定を変更しても既存小説には影響はありません
82
-
83
- - 環境設定に filename-length-limit を追加しました。各話ファイルを保存する際の
84
- 長さ制限を設定出来ます。(デフォルトでは50文字)
85
- + 既存小説のアップデートにも影響が出るので、50文字でも長すぎてエラーが出る
86
- 場合のみ変更を強く推奨
87
-
88
- #### WEB UI
89
- - コンソールに「全ての履歴を取得」ボタンを追加しました
90
- + 普段はリロードしたら直近の履歴以外は表示されませんが(読み込み負荷軽減の為)
91
- それを全て再表示する機能です。履歴はログ削除ボタンを押した場合に表示と共に
92
- 一緒にクリアされます
93
- - 個別メニューから変換などを実行した際に表示されるサブコンソールを廃止しました
94
- - 右下にページ上部へスクロールするアイコンを設置
95
- - 環境設定ページに「サーバを再起動」ボタンを設置
96
- - Send のサブメニューに「端末の栞データをバックアップ」を追加
97
- + device が kindle の時のみ表示
98
-
99
- #### 仕様変更
100
- - 環境設定の update.logging を廃止しました。それに合わせて update コマンドの
101
- --log オプションも削除しました。ログの保存は logging に統合されます
102
- - 更新を中断した場合でも、そこまでの新着に関しては hotentry を生成するように
103
- なりました
104
- - カクヨムの小説を保存する時に格納フォルダにタイトルも含めるように変更しました
105
- - ノクターンノベルズ、ムーンライトノベルズ、ミッドナイトノベルズの各作品は、
106
- 掲載サイト名をそれぞれ区別するようになりました。これに合わせて格納先フォルダ
107
- もそれぞれのサイトごとに分けられます
108
- + すでにダウンロード済みの小説には影響はありません
109
- - 上記ふたつの仕様変更に関して、以前と同じ設定に戻すには webnovel フォルダ下に
110
- 設定上書き用のデータを用意することで実現可能です。
111
- 詳細は http://bit.ly/overwrite_webnovel を参照してください
112
-
113
- #### 修正内容
114
- - カクヨムの作品の完結済みが取得できなくなっていた
115
- - 完結状態を取得できなかった場合、end タグを勝手に削除しない様に調整
116
- - 暁の作品の非公開状態が取得できなくなっていた
117
- - diff コマンドに存在しない小説を指定するとエラーが出ていた
118
- - convert コマンドに存在しない小説を指定するとエラーが出ていた
119
- - WEB UI サーバを Ctrl+C で終了時にエラーが出ていた
120
- - WEB UI で小説を大量に選択し「選択したタグを編集」を実行するとエラーが出ていた
121
- - 各話DL時にタイムアウトした時にまだエラーが出ていた
122
- - 特定の小説でファイル名を短くする処理が動いていなかった
123
- - disable_alphabet_word_to_zenkaku を有効にすると挿絵が正常に埋め込めなくなる
124
- 場合があった
125
- - データ書き込み時の安定性向上
38
+ - バックアップ中に変換が実行されるとバックアップがクラッシュする場合があった
126
39
 
127
40
  #{"*" * 60}
128
41
  EOS
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.3.1
4
+ version: 3.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - whiteleaf7
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-29 00:00:00.000000000 Z
11
+ date: 2018-10-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: termcolorlight
@@ -548,97 +548,10 @@ metadata: {}
548
548
  post_install_message: |
549
549
  ************************************************************
550
550
 
551
- 3.3.1: 2018/09/29
551
+ 3.3.2: 2018/10/14
552
552
  ------------------
553
553
  #### 修正内容
554
- - Windows において、ユーザー名や管理フォルダに全角文字が含まれている場合に、
555
- エラーが出るようになっていた
556
-
557
-
558
- 3.3.0: 2018/09/22
559
- ------------------
560
- #### 追加機能
561
- - ダウンロード(や更新)と変換の同時実行が可能になりました
562
- + 環境設定の concurrency オプションを有効にすることで使用可能になります
563
- + 大規模な変更なので、不安定な恐れあり。使う場合はバックアップを万全に
564
- + 有効にすると表示されるログの出力形式が変更されます。CUI では特殊な形式に
565
- なり、WEB UIではコンソールが物理的に2つになります。CUI の表示については
566
- concurrency.format-queue-style で調整出来ます。詳細は narou s -h を参照
567
- + アップデート時の変換を中断した場合に、次回更新時に変換を再試行する機能が
568
- concurrency が有効な場合は動きません。これは現時点では仕様です
569
-
570
- - ログが保存出来るようになりました
571
- + 環境設定 logging オプションを追加しました。有効にすることでほぼすべての
572
- ログを保存します
573
- * diff や list コマンド、ヘルプなどの、出力が多く表示すること自体が目的の
574
- 一部コマンドの出力はログには保存しません
575
- * ログのフォーマットとしてlogging.format-filename, logging.format-timestamp
576
- も追加されています。詳細は narou s -h を参照
577
- * concurrency が有効な場合、通常ログと変換ログに分けられます。通常ログの
578
- ファイル名が 20180831.txt だった場合、変換ログは 20180831_convert.txt に
579
- 保存されます(log コマンドで簡単に表示できます)
580
- + log コマンドを実装しました。logging オプションで保存されるログを表示する
581
- ことが出来ます。tail -f のようなストリーミング機能も付いています。詳細は
582
- narou log -h を参照
583
- * concurrency で更新と変換を同時実行中は基本的に更新のログだけ表示されるの
584
- で、コンソールを分割して片方で narou update を実行して更新ログを表示して
585
- もう片方で narou log -ct で変換ログを垂れ流すみたいな使い方を想定
586
-
587
- - ダウンロードを中断しても、再開(レジューム)出来るようになりました
588
- + download で新規小説をダウンロードしていたのを中断した場合は、updateコマンド
589
- で再開出来ます(再開部分は新着扱いになります)
590
- + この仕様追加の影響で、今までは新規ダウンロードを中断した場合は(ネットワーク
591
- エラーや手動など手段問わず)データベースに登録されなかったのが、登録される
592
- 様になりました
593
- + 中断した小説は変換ができません。update で再開して最後までDLしきってください
594
-
595
- - 環境設定に folder-length-limit を追加しました。小説を格納するフォルダ名の長さ
596
- 制限を設定出来ます。(デフォルトでは50文字)
597
- + この設定を変更しても既存小説には影響はありません
598
-
599
- - 環境設定に filename-length-limit を追加しました。各話ファイルを保存する際の
600
- 長さ制限を設定出来ます。(デフォルトでは50文字)
601
- + 既存小説のアップデートにも影響が出るので、50文字でも長すぎてエラーが出る
602
- 場合のみ変更を強く推奨
603
-
604
- #### WEB UI
605
- - コンソールに「全ての履歴を取得」ボタンを追加しました
606
- + 普段はリロードしたら直近の履歴以外は表示されませんが(読み込み負荷軽減の為)
607
- それを全て再表示する機能です。履歴はログ削除ボタンを押した場合に表示と共に
608
- 一緒にクリアされます
609
- - 個別メニューから変換などを実行した際に表示されるサブコンソールを廃止しました
610
- - 右下にページ上部へスクロールするアイコンを設置
611
- - 環境設定ページに「サーバを再起動」ボタンを設置
612
- - Send のサブメニューに「端末の栞データをバックアップ」を追加
613
- + device が kindle の時のみ表示
614
-
615
- #### 仕様変更
616
- - 環境設定の update.logging を廃止しました。それに合わせて update コマンドの
617
- --log オプションも削除しました。ログの保存は logging に統合されます
618
- - 更新を中断した場合でも、そこまでの新着に関しては hotentry を生成するように
619
- なりました
620
- - カクヨムの小説を保存する時に格納フォルダにタイトルも含めるように変更しました
621
- - ノクターンノベルズ、ムーンライトノベルズ、ミッドナイトノベルズの各作品は、
622
- 掲載サイト名をそれぞれ区別するようになりました。これに合わせて格納先フォルダ
623
- もそれぞれのサイトごとに分けられます
624
- + すでにダウンロード済みの小説には影響はありません
625
- - 上記ふたつの仕様変更に関して、以前と同じ設定に戻すには webnovel フォルダ下に
626
- 設定上書き用のデータを用意することで実現可能です。
627
- 詳細は http://bit.ly/overwrite_webnovel を参照してください
628
-
629
- #### 修正内容
630
- - カクヨムの作品の完結済みが取得できなくなっていた
631
- - 完結状態を取得できなかった場合、end タグを勝手に削除しない様に調整
632
- - 暁の作品の非公開状態が取得できなくなっていた
633
- - diff コマンドに存在しない小説を指定するとエラーが出ていた
634
- - convert コマンドに存在しない小説を指定するとエラーが出ていた
635
- - WEB UI サーバを Ctrl+C で終了時にエラーが出ていた
636
- - WEB UI で小説を大量に選択し「選択したタグを編集」を実行するとエラーが出ていた
637
- - 各話DL時にタイムアウトした時にまだエラーが出ていた
638
- - 特定の小説でファイル名を短くする処理が動いていなかった
639
- - disable_alphabet_word_to_zenkaku を有効にすると挿絵が正常に埋め込めなくなる
640
- 場合があった
641
- - データ書き込み時の安定性向上
554
+ - バックアップ中に変換が実行されるとバックアップがクラッシュする場合があった
642
555
 
643
556
  ************************************************************
644
557
  rdoc_options: []