narou 1.4.4 → 1.4.5

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: cceb9aed1a0e71d711702ca7bb7e2029aa043d0d
4
- data.tar.gz: c5196bb6cc013bb4db7980aa184aaaa1b7d0139c
3
+ metadata.gz: e702c9dd18f52bcbcacf4ec486048696d02cd796
4
+ data.tar.gz: 8922b4f892406b4d68f8e5a4ced9ac1c93f4a6da
5
5
  SHA512:
6
- metadata.gz: 5397e969955f85d372f261887b0168e5c60c32d10d878119933e7fa82e29ee316ae44e1a2cd1141d5a4f196f20c8a84afe1a0c015303cf89a73651f23203b595
7
- data.tar.gz: dda17db185326b5db6b390656720e3692584addeac52542bbc7538845bf810cb227c1f9bffa48714a9929c42b812aeff2ed5c57bfa87b6549550b89fd409551e
6
+ metadata.gz: 2d55aef4c814907388bc57b7d8e211df13e274de7de08112a411115b477fe595e29fe5e471ea29d237c2508d4f4e0c2107a45c112204c715a597906bf219e0cf
7
+ data.tar.gz: 814eed698f18cfe5f5fc79dc4919fc8ccc6441f8f2ec781afa5f2592e6c7388f6efaab8c9c82a56dd1abf8f55fe40d0a12c94a9a884693ca7e9ac05151b833dc
data/ChangeLog.md CHANGED
@@ -2,6 +2,18 @@
2
2
  更新履歴 - ChangeLog
3
3
  --------------------
4
4
 
5
+ 2014/02/27 : **1.4.5**
6
+ * 追加機能もしくは仕様変更
7
+ - `narou send` コマンドに凍結済み小説は送信しない `--without-freeze` オプションが追加されました
8
+ + 送信小説を個別に指定した場合は無視されます
9
+ + `narou s send.without-freeze=true` と設定することで、オプションを毎回打たなくても有効になります
10
+ * Bug Fix
11
+ - 検索除外されている小説が全て短編小説と認識されてしまう問題を修正
12
+ - WinMerge2.14で `narou diff` コマンドが使えなかった問題を修正
13
+ - Ruby1.9.3で動かなくなっていたのを修正
14
+ - issues #35 行頭に三点リーダーの代わりに連続中黒(・・・)が来た時自動字下げがされていなかったのを修正
15
+ - 連続で小説をダウンロードする時に 503 エラーがでてしまう場合がある問題を修正
16
+
5
17
  2014/02/26 : **1.4.4**
6
18
  * 追加機能もしくは仕様変更
7
19
  - **短編小説** に対応しました
data/README.md CHANGED
@@ -21,6 +21,18 @@ Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンロ
21
21
  更新履歴 - ChangeLog
22
22
  --------------------
23
23
 
24
+ 2014/02/27 : **1.4.5**
25
+ * 追加機能もしくは仕様変更
26
+ - `narou send` コマンドに凍結済み小説は送信しない `--without-freeze` オプションが追加されました
27
+ + 送信小説を個別に指定した場合は無視されます
28
+ + `narou s send.without-freeze=true` と設定することで、オプションを毎回打たなくても有効になります
29
+ * Bug Fix
30
+ - 検索除外されている小説が全て短編小説と認識されてしまう問題を修正
31
+ - WinMerge2.14で `narou diff` コマンドが使えなかった問題を修正
32
+ - Ruby1.9.3で動かなくなっていたのを修正
33
+ - issues #35 行頭に三点リーダーの代わりに連続中黒(・・・)が来た時自動字下げがされていなかったのを修正
34
+ - 連続で小説をダウンロードする時に 503 エラーがでてしまう場合がある問題を修正
35
+
24
36
  2014/02/26 : **1.4.4**
25
37
  * 追加機能もしくは仕様変更
26
38
  - **短編小説** に対応しました
@@ -58,18 +70,6 @@ Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンロ
58
70
  して再ダウンロードをお願いします
59
71
  - 章タイトルが※で終わる小説をEPUB変換時に警告が出ていたのを修正
60
72
 
61
- 2014/02/20 : **1.4.1.1**
62
- * Bug Fix
63
- - `narou init` 時にエラーが出るようになっていたのを修正
64
-
65
- 2014/02/20 : **1.4.1**
66
- * Bug Fix
67
- - 1.4.0 で章情報が取得できていなかったのを修正
68
-
69
- 2014/02/20 : **1.4.0**
70
- * 重要な修正
71
- - 小説家になろうのレイアウト変更によって更新処理ができなくなっていたものを修正しました
72
-
73
73
  ----
74
74
 
75
75
  「小説家になろう」は株式会社ヒナプロジェクトの登録商標です
@@ -81,15 +81,6 @@ module Command
81
81
  EOS
82
82
  end
83
83
 
84
- def load_local_settings
85
- local_settings = LocalSetting.get["local_setting"]
86
- local_settings.each do |name, value|
87
- if name =~ /^convert\.(.+)$/
88
- @options[$1] = value
89
- end
90
- end
91
- end
92
-
93
84
  def execute(argv)
94
85
  load_local_settings # @opt.on 実行前に設定ロードしたいので super 前で実行する
95
86
  super
data/lib/command/diff.rb CHANGED
@@ -135,7 +135,7 @@ module Command
135
135
  error e.message
136
136
  exit 1
137
137
  ensure
138
- temp_paths.each { |tmp| tmp.close(true) }
138
+ temp_paths.each { |tmp| tmp.delete }
139
139
  end
140
140
  puts res[0] unless res[0].empty?
141
141
  error res[1] unless res[1].empty?
@@ -194,12 +194,14 @@ module Command
194
194
  novel_info = Database.instance[id]
195
195
 
196
196
  sections = latest_novel_sections
197
- temp_new = Tempfile.open("new")
197
+ temp_new = Tempfile.open(["new", ".txt"])
198
198
  temp_new.write(Template.get("diff.txt", binding))
199
+ temp_new.close
199
200
 
200
201
  sections = cache_sections
201
- temp_old = Tempfile.open("old")
202
+ temp_old = Tempfile.open(["old", ".txt"])
202
203
  temp_old.write(Template.get("diff.txt", binding))
204
+ temp_old.close
203
205
 
204
206
  [temp_new, temp_old]
205
207
  end
data/lib/command/send.rb CHANGED
@@ -32,7 +32,14 @@ module Command
32
32
  narou send 6
33
33
 
34
34
  narou send # 端末のファイルより新しいファイルがあれば送信
35
+ narou send --without-freeze # 凍結済は対象外に
36
+
37
+ Options:
35
38
  EOS
39
+
40
+ @opt.on("--without-freeze", "`全話'送信時に凍結された小説は対象外にする") {
41
+ @options["without-freeze"] = true
42
+ }
36
43
  end
37
44
 
38
45
  def get_device(argv)
@@ -43,6 +50,7 @@ module Command
43
50
  end
44
51
 
45
52
  def execute(argv)
53
+ load_local_settings
46
54
  super
47
55
  device = get_device(argv)
48
56
  unless device
@@ -64,6 +72,7 @@ module Command
64
72
  if argv.empty?
65
73
  send_all = true
66
74
  Database.instance.each do |id, data|
75
+ next if @options["without-freeze"] && Narou.novel_frozen?(id)
67
76
  argv << id
68
77
  titles[id] = data["title"]
69
78
  end
@@ -230,9 +230,9 @@ module Command
230
230
  SETTING_VARIABLES = {
231
231
  local: {
232
232
  # 変数名 => [受け付ける型, 説明(, 不可視化フラグ)]
233
- "convert.no-epub" => [:boolean, "EPUB変換を無効にする"],
234
- "convert.no-mobi" => [:boolean, "MOBI変換を無効にする"],
235
- "convert.no-strip" => [:boolean, "MOBIのstripを無効にする\n" +
233
+ "convert.no-epub" => [:boolean, "EPUB変換を無効にするか"],
234
+ "convert.no-mobi" => [:boolean, "MOBI変換を無効にするか"],
235
+ "convert.no-strip" => [:boolean, "MOBIのstripを無効にするか\n" +
236
236
  " " * 6 + "※注意:KDP用のMOBIはstripしないでください"],
237
237
  "convert.no-zip" => [:boolean, "i文庫用のzipファイルを作らない"],
238
238
  "convert.no-open" => [:boolean, "変換終了時に保存フォルダを開かない"],
@@ -240,6 +240,7 @@ module Command
240
240
  " " * 6 + "※注意:存在しないフォルダだとエラーになる"],
241
241
  "convert.inspect" => [:boolean, "常に変換時に調査結果を表示するか"],
242
242
  "download.interval" => [:float, "各話DL時に指定した秒数待機する。デフォルト0"],
243
+ "send.without-freeze" => [:boolean, "`全話'送信時に凍結された小説は対象外に"],
243
244
  "device" => [:string, "変換、送信対象の端末(sendの--help参照)"],
244
245
 
245
246
  },
data/lib/commandbase.rb CHANGED
@@ -25,6 +25,16 @@ module Command
25
25
  exit 1
26
26
  end
27
27
 
28
+ def load_local_settings
29
+ command_prefix = self.class.to_s.scan(/[^:]+$/)[0].downcase
30
+ local_settings = LocalSetting.get["local_setting"]
31
+ local_settings.each do |name, value|
32
+ if name =~ /^#{command_prefix}\.(.+)$/
33
+ @options[$1] = value
34
+ end
35
+ end
36
+ end
37
+
28
38
  #
29
39
  # 普通にコマンドを実行するけど、exit(2) を補足してexitstatus を返す
30
40
  # 正常終了なら0
data/lib/converterbase.rb CHANGED
@@ -520,6 +520,7 @@ class ConverterBase
520
520
 
521
521
  HALF_INDENT_TARGET = /^[  \t]*([〔「『((【〈《≪〝])/
522
522
  FULL_INDENT_TARGET = /^[  \t]*(――)/
523
+ AUTO_INDENT_IGNORE_INDENT_CHAR = Inspector::IGNORE_INDENT_CHAR.sub("・", "")
523
524
  #
524
525
  # 行頭かぎ括弧(等)に二分アキを追加する
525
526
  #
@@ -539,8 +540,15 @@ class ConverterBase
539
540
  def auto_indent(data)
540
541
  data.gsub!(FULL_INDENT_TARGET, " \\1")
541
542
  if @setting.enable_auto_indent && @inspector.inspect_indent(data)
542
- data.gsub!(/^([^#{Inspector::IGNORE_INDENT_CHAR}])/) do
543
- $1 == " " || $1 == " " ? " " : " #{$1}"
543
+ data.gsub!(/^([^#{AUTO_INDENT_IGNORE_INDENT_CHAR}])/) do
544
+ # 行頭に三点リーダーの代わりに連続中黒(・・・)が来た場合の対策
545
+ # https://github.com/whiteleaf7/narou/issues/35
546
+ # 行頭に中黒1個だけの場合はよくある表現なので字下げしない
547
+ if $1 == "・" && $'[0] != "・"
548
+ "・"
549
+ else
550
+ $1 == " " || $1 == " " ? " " : " #{$1}"
551
+ end
544
552
  end
545
553
  end
546
554
  end
data/lib/downloader.rb CHANGED
@@ -488,7 +488,7 @@ class Downloader
488
488
  subtitles = create_short_story_subtitles(api)
489
489
  end
490
490
  @title = @setting["title"]
491
- @file_title = Helper.replace_filename_special_chars(@title, invalid_replace: true).strip
491
+ @file_title = Helper.replace_filename_special_chars(@title, true).strip
492
492
  @setting["story"] = @setting["story"].gsub("<br />", "")
493
493
  toc_objects = {
494
494
  "title" => @title,
@@ -581,22 +581,29 @@ class Downloader
581
581
  # subtitles にダウンロードしたいものをまとめた subtitle info を渡す
582
582
  #
583
583
  def sections_download_and_save(subtitles)
584
+ @@__narou_wait_counter ||= 0
585
+ @@__narou_last_download_time ||= Time.now - 20
584
586
  max = subtitles.count
585
587
  return if max == 0
586
588
  puts ("<bold><green>" + TermColor.escape("ID:#{@id} #{@title} のDL開始") + "</green></bold>").termcolor
587
589
  interval_sleep_time = LocalSetting.get["local_setting"]["download.interval"] || 0
588
590
  interval_sleep_time = 0 if interval_sleep_time < 0
589
591
  save_least_one = false
592
+ if Time.now - @@__narou_last_download_time > 5
593
+ @@__narou_wait_counter = 0
594
+ end
590
595
  subtitles.each_with_index do |subtitle_info, i|
591
- if @setting["domain"] =~ /syosetu.com/ && (i % 10 == 0 && i >= 10)
596
+ if @setting["domain"] =~ /syosetu.com/ && (@@__narou_wait_counter % 10 == 0 && @@__narou_wait_counter >= 10)
592
597
  # MEMO:
593
598
  # 小説家になろうは連続DL規制があるため、ウェイトを入れる必要がある。
594
599
  # 10話ごとに規制が入るため、10話ごとにウェイトを挟む。
595
600
  # 1話ごとに1秒待機を10回繰り返そうと、11回目に規制が入るため、ウェイトは必ず必要。
596
601
  sleep(5)
597
602
  else
598
- sleep(interval_sleep_time) if i > 0
603
+ sleep(interval_sleep_time) if @@__narou_wait_counter > 0
599
604
  end
605
+ @@__narou_wait_counter += 1
606
+ @@__narou_last_download_time = Time.now
600
607
  index, subtitle, file_subtitle, chapter = %w(index subtitle file_subtitle chapter).map { |k|
601
608
  subtitle_info[k]
602
609
  }
@@ -689,6 +696,7 @@ class Downloader
689
696
  exit 1
690
697
  end
691
698
  retry_count -= 1
699
+ puts
692
700
  warn "server message: #{e.message}"
693
701
  warn "リトライ待機中……"
694
702
  sleep(WAITING_TIME_FOR_503)
data/lib/helper.rb CHANGED
@@ -86,7 +86,7 @@ module Helper
86
86
  puts "―" * 35
87
87
  end
88
88
 
89
- def replace_filename_special_chars(str, invalid_replace: false)
89
+ def replace_filename_special_chars(str, invalid_replace = false)
90
90
  result = str.tr("/:*?\"<>|.", "/:*?”〈〉|.").gsub("\\", "¥")
91
91
  if invalid_replace
92
92
  org_encoding = result.encoding
data/lib/narou.rb CHANGED
@@ -10,6 +10,8 @@ require_relative "globalsetting"
10
10
  require_relative "device"
11
11
 
12
12
  module Narou
13
+ extend self
14
+
13
15
  LOCAL_SETTING_DIR = ".narou"
14
16
  GLOBAL_SETTING_DIR = ".narousetting"
15
17
  AOZORAEPUB3_JAR_NAME = "AozoraEpub3.jar"
@@ -22,7 +24,7 @@ module Narou
22
24
  @@aozora_jar_path = nil
23
25
  @@preset_dir = nil
24
26
 
25
- def self.get_root_dir
27
+ def get_root_dir
26
28
  return @@root_dir if @@root_dir
27
29
  path = File.expand_path(File.dirname("."))
28
30
  drive_letter = ""
@@ -40,7 +42,7 @@ module Narou
40
42
  @@root_dir
41
43
  end
42
44
 
43
- def self.get_local_setting_dir
45
+ def get_local_setting_dir
44
46
  return @@local_setting_dir if @@local_setting_dir
45
47
  root_dir = get_root_dir
46
48
  if root_dir
@@ -49,7 +51,7 @@ module Narou
49
51
  @@local_setting_dir
50
52
  end
51
53
 
52
- def self.get_global_setting_dir
54
+ def get_global_setting_dir
53
55
  return @@global_setting_dir if @@global_setting_dir
54
56
  @@global_setting_dir = File.expand_path(File.join("~", GLOBAL_SETTING_DIR))
55
57
  unless File.exists?(@@global_setting_dir)
@@ -58,24 +60,22 @@ module Narou
58
60
  @@global_setting_dir
59
61
  end
60
62
 
61
- def self.get_script_dir
63
+ def get_script_dir
62
64
  @@script_dir ||= File.expand_path(File.join(File.dirname(__FILE__), ".."))
63
65
  end
64
66
 
65
- def self.already_init?
67
+ def already_init?
66
68
  !!get_root_dir
67
69
  end
68
70
 
69
- def self.init
71
+ def init
70
72
  return nil if already_init?
71
73
  FileUtils.mkdir(LOCAL_SETTING_DIR)
72
74
  puts LOCAL_SETTING_DIR + "/ を作成しました"
73
75
  Database.init
74
- #LocalSetting.get["local_setting"]["device"] = "kindle"
75
- #LocalSetting.get.save_settings
76
76
  end
77
77
 
78
- def self.alias_to_id(target)
78
+ def alias_to_id(target)
79
79
  aliases = LocalSetting.get["alias"]
80
80
  if aliases[target]
81
81
  return aliases[target]
@@ -83,22 +83,22 @@ module Narou
83
83
  target
84
84
  end
85
85
 
86
- def self.novel_frozen?(target)
86
+ def novel_frozen?(target)
87
87
  id = Downloader.get_id_by_target(target) or return false
88
88
  LocalSetting.get["freeze"].include?(id)
89
89
  end
90
90
 
91
- def self.get_preset_dir
91
+ def get_preset_dir
92
92
  return @@preset_dir if @@preset_dir
93
93
  @@preset_dir = File.expand_path(File.join(get_script_dir, PRESET_DIR))
94
94
  @@preset_dir
95
95
  end
96
96
 
97
- def self.create_aozoraepub3_jar_path(*paths)
97
+ def create_aozoraepub3_jar_path(*paths)
98
98
  File.expand_path(File.join(*paths, AOZORAEPUB3_JAR_NAME))
99
99
  end
100
100
 
101
- def self.aozoraepub3_directory?(path)
101
+ def aozoraepub3_directory?(path)
102
102
  File.exists?(create_aozoraepub3_jar_path(path))
103
103
  end
104
104
 
@@ -109,7 +109,7 @@ module Narou
109
109
  # 2. 小説保存ディレクトリ(Narou.get_root_dir) 直下の AozoraEpub3
110
110
  # 3. スクリプト保存ディレクトリ(Narou.get_script_dir) 直下の AozoraEpub3
111
111
  #
112
- def self.get_aozoraepub3_path
112
+ def get_aozoraepub3_path
113
113
  return @@aozora_jar_path if @@aozora_jar_path
114
114
  global_setting_aozora_path = GlobalSetting.get["global_setting"]["aozoraepub3dir"]
115
115
  if global_setting_aozora_path
@@ -129,25 +129,25 @@ module Narou
129
129
  nil
130
130
  end
131
131
 
132
- def self.create_novel_filename(novel_data, ext = "")
132
+ def create_novel_filename(novel_data, ext = "")
133
133
  author, title = %w(author title).map { |k|
134
- Helper.replace_filename_special_chars(novel_data[k], invalid_replace: true)
134
+ Helper.replace_filename_special_chars(novel_data[k], true)
135
135
  }
136
136
  "[#{author}] #{title}#{ext}"
137
137
  end
138
138
 
139
- def self.get_mobi_path(target)
139
+ def get_mobi_path(target)
140
140
  get_ebook_file_path(target, ".mobi")
141
141
  end
142
142
 
143
- def self.get_ebook_file_path(target, ext)
143
+ def get_ebook_file_path(target, ext)
144
144
  data = Downloader.get_data_by_target(target)
145
145
  return nil unless data
146
146
  dir = Downloader.get_novel_data_dir_by_target(target)
147
147
  File.join(dir, create_novel_filename(data, ext))
148
148
  end
149
149
 
150
- def self.get_device(device_name = nil)
150
+ def get_device(device_name = nil)
151
151
  device_name = LocalSetting.get["local_setting"]["device"] unless device_name
152
152
  if device_name && Device.exists?(device_name)
153
153
  return Device.create(device_name)
data/lib/narou/api.rb CHANGED
@@ -73,7 +73,7 @@ module Narou
73
73
  end
74
74
  info_setting = SiteSetting.load_file(File.join(Narou.get_preset_dir, INFO_SETTING_FILE))
75
75
  info_setting.multi_match(info_source, *request_output_parameters)
76
- result["novel_type"] = NOVEL_TYPE[info_setting["novel_type"]].to_s
76
+ result["novel_type"] = NOVEL_TYPE[info_setting["novel_type"]]
77
77
  result["story"] = info_setting["story"].gsub("<br />", "")
78
78
  %w(general_firstup novelupdated_at general_lastup).each do |elm|
79
79
  result[elm] = date_string_to_time(info_setting[elm])
data/lib/version.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # Copyright 2013 whiteleaf. All rights reserved.
4
4
  #
5
5
 
6
- Version = "1.4.4"
6
+ Version = "1.4.5"
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,25 +46,17 @@ narou コマンドのインストール or アップデートが完了しまし
46
46
  初めてこのアプリケーションを使う場合、小説管理用のフォルダを初期化する必要があります。
47
47
  任意のフォルダで `narou init' を実行して下さい。
48
48
 
49
- 2014/02/26 : **1.4.4**
49
+ 2014/02/27 : **1.4.5**
50
50
  * 追加機能もしくは仕様変更
51
- - **短編小説** に対応しました
52
- + `narou list` コマンドで短編小説にはタイトルの後ろに(短編)と付きます
53
- - `narou list` コマンドが拡張されました
54
- + 一覧の表示を絞る `--filter` オプションを追加しました(短縮 -f)
55
- - `--filter` に続いて `series` (連載)、`ss` (短編)を指定出来ます
56
- - コマンド例: `narou list --filter series` 連載小説のみを表示する
57
- - コマンド例: `narou list -f ss -rl` 短編小説のみを更新の古い順に表示する
58
- + 表示する項目を増やす `--type` オプションを追加しました(短縮 -t)
59
- - オプションを指定すると「種別」という項目が追加され、「連載」か「短編」かが表示されます
60
- - `narou remove` コマンドに全ての短編小説を削除する `--all-ss` オプションが追加されました
61
- + ファイルも全て消すには通常通り `--with--file` オプションを同時に付ける必要があります
62
- - `narou download` コマンドにダウンロードが終わったあと削除する `--remove` オプションが追加されました(短縮 -r)
63
- + 更新をチェックする必要があまりない短編小説などのためのオプションです
64
- + 小説データフォルダ下にファイルは残っているので、ダウンロード時に送信まで行わなかった場合は、手動で
65
- 書籍データをコピーすることが出来ます。また、ファイルを消す場合も手動で削除する必要があります
51
+ - `narou send` コマンドに凍結済み小説は送信しない `--without-freeze` オプションが追加されました
52
+ + 送信小説を個別に指定した場合は無視されます
53
+ + `narou s send.without-freeze=true` と設定することで、オプションを毎回打たなくても有効になります
66
54
  * Bug Fix
67
- - 検索除外設定されている小説がダウンロード出来ない問題を修正
55
+ - 検索除外されている小説が全て短編小説と認識されてしまう問題を修正
56
+ - WinMerge2.14で `narou diff` コマンドが使えなかった問題を修正
57
+ - Ruby1.9.3で動かなくなっていたのを修正
58
+ - issues #35 行頭に三点リーダーの代わりに連続中黒(・・・)が来た時自動字下げがされていなかったのを修正
59
+ - 連続で小説をダウンロードする時に 503 エラーがでてしまう場合がある問題を修正
68
60
 
69
61
  #{"*" * 79}
70
62
  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: 1.4.4
4
+ version: 1.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - whiteleaf7
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-26 00:00:00.000000000 Z
11
+ date: 2014-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: termcolor
@@ -162,25 +162,17 @@ post_install_message: |
162
162
  初めてこのアプリケーションを使う場合、小説管理用のフォルダを初期化する必要があります。
163
163
  任意のフォルダで `narou init' を実行して下さい。
164
164
 
165
- 2014/02/26 : **1.4.4**
165
+ 2014/02/27 : **1.4.5**
166
166
  * 追加機能もしくは仕様変更
167
- - **短編小説** に対応しました
168
- + `narou list` コマンドで短編小説にはタイトルの後ろに(短編)と付きます
169
- - `narou list` コマンドが拡張されました
170
- + 一覧の表示を絞る `--filter` オプションを追加しました(短縮 -f)
171
- - `--filter` に続いて `series` (連載)、`ss` (短編)を指定出来ます
172
- - コマンド例: `narou list --filter series` 連載小説のみを表示する
173
- - コマンド例: `narou list -f ss -rl` 短編小説のみを更新の古い順に表示する
174
- + 表示する項目を増やす `--type` オプションを追加しました(短縮 -t)
175
- - オプションを指定すると「種別」という項目が追加され、「連載」か「短編」かが表示されます
176
- - `narou remove` コマンドに全ての短編小説を削除する `--all-ss` オプションが追加されました
177
- + ファイルも全て消すには通常通り `--with--file` オプションを同時に付ける必要があります
178
- - `narou download` コマンドにダウンロードが終わったあと削除する `--remove` オプションが追加されました(短縮 -r)
179
- + 更新をチェックする必要があまりない短編小説などのためのオプションです
180
- + 小説データフォルダ下にファイルは残っているので、ダウンロード時に送信まで行わなかった場合は、手動で
181
- 書籍データをコピーすることが出来ます。また、ファイルを消す場合も手動で削除する必要があります
167
+ - `narou send` コマンドに凍結済み小説は送信しない `--without-freeze` オプションが追加されました
168
+ + 送信小説を個別に指定した場合は無視されます
169
+ + `narou s send.without-freeze=true` と設定することで、オプションを毎回打たなくても有効になります
182
170
  * Bug Fix
183
- - 検索除外設定されている小説がダウンロード出来ない問題を修正
171
+ - 検索除外されている小説が全て短編小説と認識されてしまう問題を修正
172
+ - WinMerge2.14で `narou diff` コマンドが使えなかった問題を修正
173
+ - Ruby1.9.3で動かなくなっていたのを修正
174
+ - issues #35 行頭に三点リーダーの代わりに連続中黒(・・・)が来た時自動字下げがされていなかったのを修正
175
+ - 連続で小説をダウンロードする時に 503 エラーがでてしまう場合がある問題を修正
184
176
 
185
177
  *******************************************************************************
186
178
  rdoc_options: []