narou 1.5.10.1 → 1.5.11

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: dcf84b29cb1a8ad21ef275975dfc22ffb0c49b0c
4
- data.tar.gz: 0f0899247085ab9dc2fdd49bb0cfb69fae237103
3
+ metadata.gz: bd47cb5d4e39f0eddbfb803e3dbb8fa700840ad0
4
+ data.tar.gz: a79e75fda941dc6af47ac7f98af2fd136f22443d
5
5
  SHA512:
6
- metadata.gz: 075f1f2ef2ef55c6398aafd07281504680174860d129860ec86fed8b1b395f438a13b43e66523ed674e8a255f471c2037ba5964e6a0f602a797f6fc586c73294
7
- data.tar.gz: 4af4530fc63e1d53bbf2a19c59d875175d7652278f4d8723f86ceb312bc45f5f8b9c22a50eff3e7ee78af9f5c6684aff5b63b02e6af37c420c63a5b83f4876c5
6
+ metadata.gz: dac6a37ea5c1a75e43b20d4b646de60599d3fe5af82cb657f73731a343c0e2801a51906141cb99c528dc6b925b909ba12afe9c0e633e32eec0e230b31840f407
7
+ data.tar.gz: 137b966c6bb0686f14468f6a8e5676d58c1d268a7b4b04c06fb7ad4fb9f2f0981adb50d71f53d3b07d44d2ad29ac21a23cfad9ac9d04cd53c687b34a2dcdc7be
data/ChangeLog.md CHANGED
@@ -1,6 +1,25 @@
1
1
  
2
2
  更新履歴 - ChangeLog
3
3
  --------------------
4
+ 2014/07/24 : **1.5.11**
5
+ * 追加機能もしくは仕様変更
6
+ - 改稿の更新漏れ対策として、 `update.strong` オプションが追加されました
7
+ + `narou s update.strong=true` として設定して下さい
8
+ + 改稿日の更新は必ずダウンロードされるようになります(当日はアップデートする度にDLします)。
9
+ 何度も改稿された小説では、更新のタイミングによっては改稿内容を取りこぼす可能性があるため、
10
+ このオプションを有効にすることで必ず拾えるようにします
11
+ + ファイルのタイムスタンプをチェックするので、更新動作が多少遅くなります
12
+ - 指定の話数ごとにウェイトを入れられる `download.wait-steps` オプションが追加されました
13
+ + `narou s download.wait-steps=10` として設定して下さい
14
+ + 小説家になろうの場合は11話以上を指定しても10話ごとにウェイトが入ります
15
+ - `backup` コマンドを追加しました
16
+ + 使用例: `narou backup 0` 、 `narou ba 0`
17
+ + 小説保存フォルダ直下の backup フォルダに、バックアップ以外の全てのファイルをZIPで固めて保存します
18
+ - ダイジェスト化検出時の処理項目に「バックアップの作成」と「保存フォルダを開く」を追加しました
19
+ * Bug Fix
20
+ - まのわ(n3730bn)のプリセット変換スクリプトの挙動を調整
21
+ - 暁で一部あらすじが正常に取れていない小説があったので修正
22
+
4
23
  2014/07/18 : **1.5.10.1**
5
24
  * Bug Fix
6
25
  - replace.txt による置換が正常に行えなかった問題を修正
data/README.md CHANGED
@@ -23,6 +23,25 @@ Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンロ
23
23
 
24
24
  更新履歴 - ChangeLog
25
25
  --------------------
26
+ 2014/07/24 : **1.5.11**
27
+ * 追加機能もしくは仕様変更
28
+ - 改稿の更新漏れ対策として、 `update.strong` オプションが追加されました
29
+ + `narou s update.strong=true` として設定して下さい
30
+ + 改稿日の更新は必ずダウンロードされるようになります(当日はアップデートする度にDLします)。
31
+ 何度も改稿された小説では、更新のタイミングによっては改稿内容を取りこぼす可能性があるため、
32
+ このオプションを有効にすることで必ず拾えるようにします
33
+ + ファイルのタイムスタンプをチェックするので、更新動作が多少遅くなります
34
+ - 指定の話数ごとにウェイトを入れられる `download.wait-steps` オプションが追加されました
35
+ + `narou s download.wait-steps=10` として設定して下さい
36
+ + 小説家になろうの場合は11話以上を指定しても10話ごとにウェイトが入ります
37
+ - `backup` コマンドを追加しました
38
+ + 使用例: `narou backup 0` 、 `narou ba 0`
39
+ + 小説保存フォルダ直下の backup フォルダに、バックアップ以外の全てのファイルをZIPで固めて保存します
40
+ - ダイジェスト化検出時の処理項目に「バックアップの作成」と「保存フォルダを開く」を追加しました
41
+ * Bug Fix
42
+ - まのわ(n3730bn)のプリセット変換スクリプトの挙動を調整
43
+ - 暁で一部あらすじが正常に取れていない小説があったので修正
44
+
26
45
  2014/07/18 : **1.5.10.1**
27
46
  * Bug Fix
28
47
  - replace.txt による置換が正常に行えなかった問題を修正
data/lib/command.rb CHANGED
@@ -33,6 +33,7 @@ module Command
33
33
  "freeze" => Freeze.new,
34
34
  "flag" => Flag.new,
35
35
  "mail" => Mail.new,
36
+ "backup" => Backup.new,
36
37
  "help" => Help.new,
37
38
  "version" => Version.new,
38
39
  "init" => Init.new
@@ -0,0 +1,85 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # Copyright 2013 whiteleaf. All rights reserved.
4
+ #
5
+
6
+ require_relative "../database"
7
+ require_relative "../downloader"
8
+
9
+ module Command
10
+ class Backup < CommandBase
11
+ BACKUP_DIR_NAME = "backup"
12
+
13
+ def oneline_help
14
+ "小説のバックアップを作成します"
15
+ end
16
+
17
+ def initialize
18
+ super("<target> [<target2> ...]")
19
+ @opt.separator <<-EOS
20
+
21
+ ・指定した小説のバックアップを作成します。
22
+ ・バックアップファイルはZIP圧縮され、小説保存フォルダ直下の#{BACKUP_DIR_NAME}フォルダに保存されます。
23
+ ・バックアップ対象は、バックアップファイル以外の小説保存フォルダにあるファイル全てが対象です。
24
+
25
+ Example:
26
+ narou backup 0
27
+ narou backup n9669bk
28
+ narou backup 0 1 musyoku
29
+ EOS
30
+ end
31
+
32
+ def create_backup_filename(data)
33
+ Helper.replace_filename_special_chars(data["title"]) + "_" + Time.now.strftime("%Y%m%d%H%M%S") + ".zip"
34
+ end
35
+
36
+ def create_backup(data)
37
+ zipfilename = create_backup_filename(data)
38
+ pwd = Dir.pwd
39
+ novel_dir = Downloader.get_novel_data_dir_by_target(data["id"])
40
+ Dir.chdir(novel_dir)
41
+ paths = Dir.glob("**/*").keep_if { |path|
42
+ File.file?(path) && path.split("/", 2)[0] != BACKUP_DIR_NAME
43
+ }
44
+ FileUtils.mkdir(BACKUP_DIR_NAME) unless File.exists?(BACKUP_DIR_NAME)
45
+ Zip.unicode_names = true
46
+ Zip::File.open(File.join(BACKUP_DIR_NAME, zipfilename), Zip::File::CREATE) do |zip|
47
+ paths.each do |path|
48
+ zip.add(path, path)
49
+ end
50
+ end
51
+ Dir.chdir(pwd)
52
+ zipfilename
53
+ end
54
+
55
+ def execute(argv)
56
+ super
57
+ if argv.empty?
58
+ puts @opt.help
59
+ return
60
+ end
61
+ require "zip"
62
+ argv.each_with_index do |target, i|
63
+ Helper.print_horizontal_rule if i > 0
64
+ data = Downloader.get_data_by_target(target)
65
+ unless data
66
+ puts "#{target} は存在しません"
67
+ next
68
+ end
69
+ puts "ID:#{data["id"]} #{data["title"]}"
70
+ print "バックアップを作成しています"
71
+ Thread.new {
72
+ loop do
73
+ print "."
74
+ sleep(0.5)
75
+ end
76
+ }.tap { |th|
77
+ zipfilename = create_backup(data)
78
+ th.kill
79
+ puts
80
+ puts "#{zipfilename} を作成しました"
81
+ }
82
+ end
83
+ end
84
+ end
85
+ end
@@ -240,10 +240,12 @@ module Command
240
240
  " " * 6 + "※注意:存在しないフォルダだとエラーになる"],
241
241
  "convert.inspect" => [:boolean, "常に変換時に調査結果を表示するか"],
242
242
  "download.interval" => [:float, "各話DL時に指定した秒数待機する。デフォルト0"],
243
+ "download.wait-steps" => [:integer, "この値で指定した話数ごとにウェイトを入れる\n" +
244
+ " " * 6 + "※注意:11以上を設定してもなろうの場合は10話ごとにウェイトが入ります"],
243
245
  "send.without-freeze" => [:boolean, "`全話'送信時に凍結された小説は対象外に"],
246
+ "update.strong" => [:boolean, "更新漏れが無いように改稿日の分は必ずDLする"],
244
247
  "device" => [:string, "変換、送信対象の端末(sendの--help参照)"],
245
248
  "multiple-delimiter" => [:string, "--multiple指定時の区切り文字"],
246
-
247
249
  },
248
250
  global: {
249
251
  "aozoraepub3dir" => [:directory, "AozoraEpub3のあるフォルダを指定", INVISIBLE],
data/lib/downloader.rb CHANGED
@@ -23,10 +23,12 @@ class Downloader
23
23
  CACHE_SAVE_DIR_NAME = "cache" # 差分用キャッシュ保存用ディレクトリ名
24
24
  RAW_DATA_DIR_NAME = "raw" # 本文の生データを保存するディレクトリ名
25
25
  TOC_FILE_NAME = "toc.yaml"
26
+ STEPS_WAIT_TIME = 5 # 数話ごとにかかるwaitの秒数
26
27
  WAITING_TIME_FOR_503 = 20 # 503 のときに待機する秒数
27
28
  RETRY_MAX_FOR_503 = 5 # 503 のときに何回再試行するか
28
29
  NOVEL_TYPE_SERIES = 1 # 連載
29
30
  NOVEL_TYPE_SS = 2 # 短編
31
+ DISPLAY_LIMIT_DIGITS = 4 # indexの表示桁数限界
30
32
 
31
33
  attr_reader :id
32
34
 
@@ -387,13 +389,17 @@ class Downloader
387
389
  when "2"
388
390
  return true
389
391
  when "3"
390
- Command::Freeze.execute!([old_toc["title"]])
392
+ Command::Freeze.execute!([latest_toc["toc_url"]])
391
393
  return true
392
394
  when "4"
395
+ Command::Backup.execute!([latest_toc["toc_url"]])
396
+ when "5"
393
397
  STDOUT.puts "あらすじ"
394
398
  STDOUT.puts latest_toc["story"]
395
- when "5"
399
+ when "6"
396
400
  Helper.open_browser(latest_toc["toc_url"])
401
+ when "7"
402
+ Helper.open_directory(Downloader.get_novel_data_dir_by_target(latest_toc["toc_url"]))
397
403
  end
398
404
  digest_output_interface(old_subtitles_count, latest_subtitles_count)
399
405
  end
@@ -404,13 +410,16 @@ class Downloader
404
410
 
405
411
  def digest_output_interface(old_subtitles_count, latest_subtitles_count)
406
412
  STDOUT.puts
407
- STDOUT.puts "保存済み話数: #{old_subtitles_count}\n更新後の話数: #{latest_subtitles_count}"
413
+ STDOUT.puts "保存済み話数: #{old_subtitles_count}"
414
+ STDOUT.puts "更新後の話数: #{latest_subtitles_count}"
408
415
  STDOUT.puts
409
416
  STDOUT.puts "1: このまま更新する"
410
417
  STDOUT.puts "2: 更新をキャンセル"
411
418
  STDOUT.puts "3: 更新をキャンセルして小説を凍結する"
412
- STDOUT.puts "4: 最新のあらすじを表示する"
413
- STDOUT.puts "5: 小説ページを開く"
419
+ STDOUT.puts "4: バックアップを作成する"
420
+ STDOUT.puts "5: 最新のあらすじを表示する"
421
+ STDOUT.puts "6: 小説ページをブラウザで開く"
422
+ STDOUT.puts "7: 保存フォルダを開く"
414
423
  STDOUT.print "選択する処理の番号を入力: "
415
424
  end
416
425
 
@@ -568,6 +577,10 @@ class Downloader
568
577
  }
569
578
  end
570
579
 
580
+ def __strdate_to_ymd(date)
581
+ Date.parse(date.to_s.tr("年月日時分秒", "///:::")).strftime("%Y%m%d")
582
+ end
583
+
571
584
  #
572
585
  # 本文更新チェック
573
586
  #
@@ -575,6 +588,7 @@ class Downloader
575
588
  #
576
589
  def update_body_check(old_subtitles, latest_subtitles)
577
590
  return latest_subtitles unless old_subtitles
591
+ strong_update = LocalSetting.get["local_setting"]["update.strong"]
578
592
  latest_subtitles.dup.keep_if do |latest|
579
593
  index = latest["index"]
580
594
  index_in_old_toc = __search_index_in_subtitles(old_subtitles, index)
@@ -589,19 +603,38 @@ class Downloader
589
603
  next true
590
604
  end
591
605
  # 更新日チェック
606
+ # subdate : 初稿投稿日(Arcadiaでは改稿日)
607
+ # subupdate : 改稿日
592
608
  old_subupdate = old["subupdate"]
593
609
  latest_subupdate = latest["subupdate"]
594
610
  if old_subupdate
595
611
  if old_subupdate == ""
596
612
  next latest_subupdate != ""
597
613
  end
614
+ if strong_update
615
+ if __strdate_to_ymd(old_subupdate) == __strdate_to_ymd(get_section_file_timestamp(latest))
616
+ next true
617
+ end
618
+ end
598
619
  latest_subupdate > old_subupdate
599
620
  else
621
+ if strong_update
622
+ if __strdate_to_ymd(old["subdate"]) == __strdate_to_ymd(get_section_file_timestamp(latest))
623
+ next true
624
+ end
625
+ end
600
626
  latest["subdate"] > old["subdate"]
601
627
  end
602
628
  end
603
629
  end
604
630
 
631
+ #
632
+ # 対象話数のタイムスタンプを取得
633
+ #
634
+ def get_section_file_timestamp(subtitle_info)
635
+ File.mtime(create_section_file_path(subtitle_info))
636
+ end
637
+
605
638
  #
606
639
  # 各話の情報を取得
607
640
  #
@@ -648,29 +681,32 @@ class Downloader
648
681
  # subtitles にダウンロードしたいものをまとめた subtitle info を渡す
649
682
  #
650
683
  def sections_download_and_save(subtitles)
651
- @@__narou_wait_counter ||= 0
652
- @@__narou_last_download_time ||= Time.now - 20
684
+ @@__wait_counter ||= 0
685
+ @@__last_download_time ||= Time.now - 20
653
686
  max = subtitles.count
654
687
  return if max == 0
655
688
  puts ("<bold><green>" + TermColor.escape("ID:#{@id} #{get_title} のDL開始") + "</green></bold>").termcolor
656
689
  interval_sleep_time = LocalSetting.get["local_setting"]["download.interval"] || 0
657
690
  interval_sleep_time = 0 if interval_sleep_time < 0
691
+ download_wait_steps = LocalSetting.get["local_setting"]["download.wait-steps"] || 0
692
+ download_wait_steps = 10 if @setting["is_narou"] && (download_wait_steps > 10 || download_wait_steps == 0)
658
693
  save_least_one = false
659
- if Time.now - @@__narou_last_download_time > 5
660
- @@__narou_wait_counter = 0
694
+ max_steps_wait_time = [STEPS_WAIT_TIME, interval_sleep_time].max
695
+ if Time.now - @@__last_download_time > max_steps_wait_time
696
+ @@__wait_counter = 0
661
697
  end
662
698
  subtitles.each_with_index do |subtitle_info, i|
663
- if @setting["is_narou"] && (@@__narou_wait_counter % 10 == 0 && @@__narou_wait_counter >= 10)
699
+ if download_wait_steps > 0 && @@__wait_counter % download_wait_steps == 0 && @@__wait_counter >= download_wait_steps
664
700
  # MEMO:
665
701
  # 小説家になろうは連続DL規制があるため、ウェイトを入れる必要がある。
666
702
  # 10話ごとに規制が入るため、10話ごとにウェイトを挟む。
667
703
  # 1話ごとに1秒待機を10回繰り返そうと、11回目に規制が入るため、ウェイトは必ず必要。
668
- sleep(5)
704
+ sleep(max_steps_wait_time)
669
705
  else
670
- sleep(interval_sleep_time) if @@__narou_wait_counter > 0
706
+ sleep(interval_sleep_time) if @@__wait_counter > 0
671
707
  end
672
- @@__narou_wait_counter += 1
673
- @@__narou_last_download_time = Time.now
708
+ @@__wait_counter += 1
709
+ @@__last_download_time = Time.now
674
710
  index, subtitle, file_subtitle, chapter = %w(index subtitle file_subtitle chapter).map { |k|
675
711
  subtitle_info[k]
676
712
  }
@@ -678,8 +714,8 @@ class Downloader
678
714
  puts "#{chapter}"
679
715
  end
680
716
  if get_novel_type == NOVEL_TYPE_SERIES
681
- if index.to_s.length < 4
682
- # indexの数字がでかいと見た目がみっともないので3桁までは表示する
717
+ if index.to_s.length <= DISPLAY_LIMIT_DIGITS
718
+ # indexの数字がでかいと見た目がみっともないので特定の桁以内だけ表示する
683
719
  print "第#{index}部分 "
684
720
  end
685
721
  else
@@ -852,6 +888,7 @@ class Downloader
852
888
 
853
889
  #
854
890
  # 小説データの格納ディレクトリパス
891
+ #
855
892
  def get_novel_data_dir
856
893
  return @novel_data_dir if @novel_data_dir
857
894
  raise "小説名がまだ設定されていません" unless get_file_title
@@ -859,6 +896,14 @@ class Downloader
859
896
  @novel_data_dir
860
897
  end
861
898
 
899
+ #
900
+ # 小説本文の保存パスを生成
901
+ #
902
+ def create_section_file_path(subtitle_info)
903
+ filename = "#{subtitle_info["index"]} #{subtitle_info["file_subtitle"]}.yaml"
904
+ File.join(get_novel_data_dir, SECTION_SAVE_DIR_NAME, filename)
905
+ end
906
+
862
907
  #
863
908
  # 小説データの格納ディレクトリに保存
864
909
  #
data/lib/version.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # Copyright 2013 whiteleaf. All rights reserved.
4
4
  #
5
5
 
6
- Version = "1.5.10.1"
6
+ Version = "1.5.11"
7
7
 
8
8
  cv_path = File.expand_path(File.join(File.dirname(__FILE__), "../commitversion"))
9
9
  if File.exists?(cv_path)
data/narou.gemspec CHANGED
@@ -46,36 +46,24 @@ narou コマンドのインストール or アップデートが完了しまし
46
46
  初めてこのアプリケーションを使う場合、小説管理用のフォルダを初期化する必要があります。
47
47
  任意のフォルダで `narou init' を実行して下さい。
48
48
 
49
- 2014/07/14 : **1.5.10**
49
+ 2014/07/24 : **1.5.11**
50
50
  * 追加機能もしくは仕様変更
51
- - `download` コマンドに対話モードを追加しました
52
- + `narou d` と対象小説を指定せずに実行すると対話モードに移行します(-f 等のオプションは指定出来ます)
53
- + 連続してNコードもしくはURLを入力できるモードです。ArcadiaのURLは " " で囲む必要がありません
54
- + 想定される使い方:
55
- * 複数のURLを書いたテキストをコピペして流しこむ
56
- * テキストファイルからリダイレクトで入力する
57
- - `narou d < list.txt`
58
- * BATファイル等で `narou d` のみを実行し、新規DL時の入力を簡便にする
59
- - 自動生成される converter.rb に簡単な説明を付け加えるようにしました
60
- - `remove` コマンドの `--with-file` オプションに短縮版 `-w` を追加しました
61
- - `narou init` 実行時に現在の AozoraEpub3 の場所を表示するようになりました
62
- - `update` コマンドに新着小説のみを変換するオプション `--convert-only-new-arrival` (短縮 `-a` )が
63
- 追加されました(naoh87さんによる実装)
64
- + もしこのオプションをデフォルトの挙動にしたければ、 `narou s default_args.update=-a` として下さい
65
- - 変換用のプリセットデータを追加
66
- + デスマーチからはじまる異世界狂想曲(n9902bn)
67
- + この世界がゲームだと俺だけが知っている(n9078bd)
68
- + まのわ ~魔物倒す・能力奪う・私強くなる~(n3730bn)
69
- - すでに同梱されているプリセットデータを一部更新
70
- + 異世界迷宮で奴隷ハーレムを(n4259s)
71
- + ログ・ホライズン(n8725k)
51
+ - 改稿の更新漏れ対策として、 `update.strong` オプションが追加されました
52
+ + `narou s update.strong=true` として設定して下さい
53
+ + 改稿日の更新は必ずダウンロードされるようになります(当日はアップデートする度にDLします)。
54
+ 何度も改稿された小説では、更新のタイミングによっては改稿内容を取りこぼす可能性があるため、
55
+ このオプションを有効にすることで必ず拾えるようにします
56
+ + ファイルのタイムスタンプをチェックするので、更新動作が多少遅くなります
57
+ - 指定の話数ごとにウェイトを入れられる `download.wait-steps` オプションが追加されました
58
+ + `narou s download.wait-steps=10` として設定して下さい
59
+ + 小説家になろうの場合は11話以上を指定しても10話ごとにウェイトが入ります
60
+ - `backup` コマンドを追加しました
61
+ + 使用例: `narou backup 0` `narou ba 0`
62
+ + 小説保存フォルダ直下の backup フォルダに、バックアップ以外の全てのファイルをZIPで固めて保存します
63
+ - ダイジェスト化検出時の処理項目に「バックアップの作成」と「保存フォルダを開く」を追加しました
72
64
  * Bug Fix
73
- - replace.txt で置換対象を削除するという表現(あいう<tab><改行>)が出来なかったのを修正
74
- - `--time` オプションで表示される実行時間がより正確になるように調整しました
75
-
76
- 2014/07/18 : **1.5.10.1**
77
- * Bug Fix
78
- - replace.txt による置換が正常に行えなかった問題を修正
65
+ - まのわ(n3730bn)のプリセット変換スクリプトの挙動を調整
66
+ - 暁で一部あらすじが正常に取れていない小説があったので修正
79
67
 
80
68
  #{"*" * 79}
81
69
  EOS
@@ -8,7 +8,10 @@
8
8
  #
9
9
  converter "n3730bn まのわ ~魔物倒す・能力奪う・私強くなる~" do
10
10
  def before(io, text_type)
11
- if text_type != "postscript"
11
+ if text_type == "postscript"
12
+ @__manowa_setting_num2kanji |= @setting.enable_convert_num_to_kanji
13
+ @setting.enable_convert_num_to_kanji = false
14
+ else
12
15
  super
13
16
  end
14
17
  io
@@ -25,8 +28,7 @@ converter "n3730bn まのわ ~魔物倒す・能力奪う・私強くなる~
25
28
  end
26
29
  end
27
30
  if text_type == "postscript"
28
- buffer.string.tr!("#{ConverterBase::KANJI_NUM}", "0-9")
29
- buffer.string.gsub!("2分アキ", "二分アキ")
31
+ @setting.enable_convert_num_to_kanji = @__manowa_setting_num2kanji
30
32
  end
31
33
  buffer
32
34
  end
@@ -15,7 +15,7 @@ title_strip_pattern: null
15
15
  title: id="LookNovel">(?<title>.+?)</a>
16
16
  author: 作者:<a href="/users/view/\d+">(?<author>.+?)</a>
17
17
  story: |-
18
- </strong></p><hr><br> <div>(?<story>.+?)</div>
18
+ <div class=" body-x1 body-normal body-w\d+">.+?<div>(?<story>.+?)</div>
19
19
 
20
20
  # ------------------------------------------------------------
21
21
  # 目次取得設定
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: 1.5.10.1
4
+ version: 1.5.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - whiteleaf7
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-17 00:00:00.000000000 Z
11
+ date: 2014-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: termcolor
@@ -84,6 +84,7 @@ files:
84
84
  - lib/color.rb
85
85
  - lib/command.rb
86
86
  - lib/command/alias.rb
87
+ - lib/command/backup.rb
87
88
  - lib/command/browser.rb
88
89
  - lib/command/convert.rb
89
90
  - lib/command/diff.rb
@@ -194,36 +195,24 @@ post_install_message: |
194
195
  初めてこのアプリケーションを使う場合、小説管理用のフォルダを初期化する必要があります。
195
196
  任意のフォルダで `narou init' を実行して下さい。
196
197
 
197
- 2014/07/14 : **1.5.10**
198
+ 2014/07/24 : **1.5.11**
198
199
  * 追加機能もしくは仕様変更
199
- - `download` コマンドに対話モードを追加しました
200
- + `narou d` と対象小説を指定せずに実行すると対話モードに移行します(-f 等のオプションは指定出来ます)
201
- + 連続してNコードもしくはURLを入力できるモードです。ArcadiaのURLは " " で囲む必要がありません
202
- + 想定される使い方:
203
- * 複数のURLを書いたテキストをコピペして流しこむ
204
- * テキストファイルからリダイレクトで入力する
205
- - `narou d < list.txt`
206
- * BATファイル等で `narou d` のみを実行し、新規DL時の入力を簡便にする
207
- - 自動生成される converter.rb に簡単な説明を付け加えるようにしました
208
- - `remove` コマンドの `--with-file` オプションに短縮版 `-w` を追加しました
209
- - `narou init` 実行時に現在の AozoraEpub3 の場所を表示するようになりました
210
- - `update` コマンドに新着小説のみを変換するオプション `--convert-only-new-arrival` (短縮 `-a` )が
211
- 追加されました(naoh87さんによる実装)
212
- + もしこのオプションをデフォルトの挙動にしたければ、 `narou s default_args.update=-a` として下さい
213
- - 変換用のプリセットデータを追加
214
- + デスマーチからはじまる異世界狂想曲(n9902bn)
215
- + この世界がゲームだと俺だけが知っている(n9078bd)
216
- + まのわ ~魔物倒す・能力奪う・私強くなる~(n3730bn)
217
- - すでに同梱されているプリセットデータを一部更新
218
- + 異世界迷宮で奴隷ハーレムを(n4259s)
219
- + ログ・ホライズン(n8725k)
200
+ - 改稿の更新漏れ対策として、 `update.strong` オプションが追加されました
201
+ + `narou s update.strong=true` として設定して下さい
202
+ + 改稿日の更新は必ずダウンロードされるようになります(当日はアップデートする度にDLします)。
203
+ 何度も改稿された小説では、更新のタイミングによっては改稿内容を取りこぼす可能性があるため、
204
+ このオプションを有効にすることで必ず拾えるようにします
205
+ + ファイルのタイムスタンプをチェックするので、更新動作が多少遅くなります
206
+ - 指定の話数ごとにウェイトを入れられる `download.wait-steps` オプションが追加されました
207
+ + `narou s download.wait-steps=10` として設定して下さい
208
+ + 小説家になろうの場合は11話以上を指定しても10話ごとにウェイトが入ります
209
+ - `backup` コマンドを追加しました
210
+ + 使用例: `narou backup 0` `narou ba 0`
211
+ + 小説保存フォルダ直下の backup フォルダに、バックアップ以外の全てのファイルをZIPで固めて保存します
212
+ - ダイジェスト化検出時の処理項目に「バックアップの作成」と「保存フォルダを開く」を追加しました
220
213
  * Bug Fix
221
- - replace.txt で置換対象を削除するという表現(あいう<tab><改行>)が出来なかったのを修正
222
- - `--time` オプションで表示される実行時間がより正確になるように調整しました
223
-
224
- 2014/07/18 : **1.5.10.1**
225
- * Bug Fix
226
- - replace.txt による置換が正常に行えなかった問題を修正
214
+ - まのわ(n3730bn)のプリセット変換スクリプトの挙動を調整
215
+ - 暁で一部あらすじが正常に取れていない小説があったので修正
227
216
 
228
217
  *******************************************************************************
229
218
  rdoc_options: []