narou 1.5.7.1 → 1.5.8

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: 4a37a9a0e7f080d2188276f3d0c83637c3ee8d93
4
- data.tar.gz: 55c02bdfee9aec77725aa454b229b761f058483b
3
+ metadata.gz: b605cf6f8a8c3bc1834dcbf9ce5e13a20d859507
4
+ data.tar.gz: afe8eb58c612d1c7bebd41861ff01e5e547d6d1b
5
5
  SHA512:
6
- metadata.gz: a33c77001db971888407e430a5e3010d178df4567253e5cbc41d951353f0d62430559292b96b90c600b56ebd52f4adc8bc1cb9a397f21ec476bce58828cd8898
7
- data.tar.gz: 230d016af1e5cebb0bb4e9cc598a23ee6c3d74d725304514415326b8e333c85577c23d97b837a852d8c096e31fe5da606c966c7e6c62960d12ba4fb17cb32f99
6
+ metadata.gz: ef104e3a339827c0365f974a52bd778fcc2d9057b72d837401b2d84689ae321955592dbf1ceb8576e4eb405ee9fd35d56abc41fcbb3ebbd173cb1b5f6988a5bc
7
+ data.tar.gz: 5c878a504be7e05ffece69e24c4bec69473df0f8c8f0fa4070fbde546ce6befbcc2faec0be5dffba3b67e2a1de180de0d5cc74d18a409ad024d8eb13d0509598
data/ChangeLog.md CHANGED
@@ -1,6 +1,20 @@
1
1
  
2
2
  更新履歴 - ChangeLog
3
3
  --------------------
4
+ 2014/06/25 : **1.5.8**
5
+ * 追加機能もしくは仕様変更
6
+ - 小説が削除されていた場合に自動で凍結するようになりました
7
+ - 小説が削除されている場合に `list` コマンドで(削除)と表示されるようになりました
8
+ - 更新に失敗した小説を表示するときにIDも合わせて表示するようにしました
9
+ - `flag` コマンドに強制設定用の `--on` 及び `--off` オプションを追加しました
10
+ - `flag` コマンドに `delete` フラグを追加しました(削除表示への対応)
11
+ - ルビの拗音(ぁ、ぃ、ゃ等)を商業書籍のように大きくする機能を追加しました
12
+ + `narou s force.enable_ruby_youon_to_big=true` とするか、
13
+ setting.ini に `enable_ruby_youon_to_big=true` を追加して下さい(標準ではオフ)
14
+ - 今バージョン以降ダウンロードした小説は、小説タイトルが変わっても converter.rb に関するエラーが
15
+ 発生しないように調整しました。ただし、すでにダウンロード済み小説には適用されないため、エラーが出た場合は
16
+ converter.rb の削除で対応をお願いします
17
+
4
18
  2014/06/15 : **1.5.7.1**
5
19
  * 追加機能もしくは仕様変更
6
20
  - 10話ごとの制限が復活していたので、1.5.7で外したウェイトを復活させました
@@ -20,7 +34,8 @@
20
34
  2014/06/04 : **1.5.6**
21
35
  * 追加機能もしくは仕様変更
22
36
  - 小説のタイトルに更新日をつける機能を追加しました
23
- + `narou s force.enable_add_date_to_title=true` として有効にして下さい(標準ではオフ)
37
+ + `narou s force.enable_add_date_to_title=true` とするか、
38
+ setting.ini に `enable_add_date_to_title=true` を追加して下さい(標準ではオフ)
24
39
  + 書式は `title_date_format` 、位置は `title_date_align` で自由に変更出来ます
25
40
  * title_date_format: 付与する日付のフォーマット。書式は http://bit.ly/1m5e3w7 を参照
26
41
  * title_date_align: 付与する日付の位置。left か right
data/README.md CHANGED
@@ -24,6 +24,20 @@ Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンロ
24
24
  更新履歴 - ChangeLog
25
25
  --------------------
26
26
 
27
+ 2014/06/25 : **1.5.8**
28
+ * 追加機能もしくは仕様変更
29
+ - 小説が削除されていた場合に自動で凍結するようになりました
30
+ - 小説が削除されている場合に `list` コマンドで(削除)と表示されるようになりました
31
+ - 更新に失敗した小説を表示するときにIDも合わせて表示するようにしました
32
+ - `flag` コマンドに強制設定用の `--on` 及び `--off` オプションを追加しました
33
+ - `flag` コマンドに `delete` フラグを追加しました(削除表示への対応)
34
+ - ルビの拗音(ぁ、ぃ、ゃ等)を商業書籍のように大きくする機能を追加しました
35
+ + `narou s force.enable_ruby_youon_to_big=true` とするか、
36
+ setting.ini に `enable_ruby_youon_to_big=true` を追加して下さい(標準ではオフ)
37
+ - 今バージョン以降ダウンロードした小説は、小説タイトルが変わっても converter.rb に関するエラーが
38
+ 発生しないように調整しました。ただし、すでにダウンロード済み小説には適用されないため、エラーが出た場合は
39
+ converter.rb の削除で対応をお願いします
40
+
27
41
  2014/06/15 : **1.5.7.1**
28
42
  * 追加機能もしくは仕様変更
29
43
  - 10話ごとの制限が復活していたので、1.5.7で外したウェイトを復活させました
@@ -59,32 +73,6 @@ Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンロ
59
73
  * Bug Fix
60
74
  - !?の一文字表記(0x2049)等でゴミが出てしまう問題を修正
61
75
 
62
- 2014/05/15 : **1.5.5.1**
63
- * Bug Fix
64
- - 暁の小説で一部正常にDLできないものがあったので修正
65
-
66
- 2014/05/15 : **1.5.5**
67
- * 追加機能もしくは仕様変更
68
- - 小説投稿サイト **[暁](http://www.akatsuki-novels.com/)** に対応しました
69
- * Bug Fix
70
- - タイトルに " が含まれている場合に正常に変換できない問題を修正
71
-
72
- 2014/03/21 : **1.5.4**
73
- * 重要な修正
74
- - 小説家になろうの仕様変更で更新できなくなっていたのを修正しました
75
-
76
- 2014/03/13 : **1.5.3**
77
- * 追加機能もしくは仕様変更
78
- - 小説の最後に「(本を読み終わりました)」と表示されるようになりました
79
- + setting.ini で `enable_display_end_of_book` を false 、もしくはコマンドで
80
- `narou s force.enable_display_end_of_book=false` とすることで抑制出来ます
81
- * Bug Fix
82
- - ◯つき数字などがまじると文字化けする可能性があった問題を修正
83
-
84
- 2014/03/09 : **1.5.2.1**
85
- * Bug Fix
86
- - 1.5.2 で発生する新規小説DL時のエラーを修正
87
-
88
76
  ----
89
77
 
90
78
  「小説家になろう」は株式会社ヒナプロジェクトの登録商標です
@@ -146,7 +146,7 @@ module Command
146
146
  if @device && @device.physical_support? &&
147
147
  @device.connecting? && File.extname(ebook_file) == @device.ebook_file_ext
148
148
  if @argument_target_type == :novel
149
- Send.execute_and_rescue_exit([@device.name, target])
149
+ Send.execute!([@device.name, target])
150
150
  else
151
151
  puts @device.name + "へ送信しています"
152
152
  copy_to_path = @device.copy_to_documents(ebook_file)
@@ -73,13 +73,13 @@ module Command
73
73
  next
74
74
  end
75
75
  unless @options["no-convert"]
76
- Convert.execute_and_rescue_exit([download_target])
76
+ Convert.execute!([download_target])
77
77
  end
78
78
  if @options["freeze"]
79
- Freeze.execute_and_rescue_exit([download_target])
79
+ Freeze.execute!([download_target])
80
80
  elsif @options["remove"]
81
81
  # --freeze オプションが指定された場合は --remove オプションは無視する
82
- Remove.execute_and_rescue_exit([download_target, "-y"])
82
+ Remove.execute!([download_target, "-y"])
83
83
  end
84
84
  end
85
85
  end
data/lib/command/flag.rb CHANGED
@@ -9,7 +9,7 @@ require_relative "../localsetting"
9
9
 
10
10
  module Command
11
11
  class Flag < CommandBase
12
- ATTRIBUTES = %w(end)
12
+ ATTRIBUTES = %w(end delete)
13
13
 
14
14
  def oneline_help
15
15
  "小説の各種フラグを設定します"
@@ -21,12 +21,23 @@ module Command
21
21
 
22
22
  ・指定した小説に各種フラグを設定します
23
23
  ・再実行で解除
24
+ ・--on, --off オプションを付けることで強制設定可能
24
25
  ・現在指定可能なフラグ
25
- end : 小説が完結状態かどうか
26
+ end : 小説が完結状態
27
+ delete: 削除された状態
26
28
 
27
29
  Example:
28
30
  narou flag end 100 # ID:100の小説を完結状態にする
31
+ narou flag end --on # 現在の状態に関わらず完結状態にする
32
+
33
+ Options:
29
34
  EOS
35
+ @opt.on("--on", "強制的にフラグを立てる") {
36
+ @options["on"] = true
37
+ }
38
+ @opt.on("--off", "強制的にフラグをはずす") {
39
+ @options["off"] = true
40
+ }
30
41
  end
31
42
 
32
43
  def execute(argv)
@@ -52,12 +63,15 @@ module Command
52
63
  next
53
64
  end
54
65
  flags = data["flags"] || {}
55
- if flags.include?(attribute)
56
- flags.delete(attribute)
57
- puts "#{data['title']} から #{attribute} フラグを削除しました"
66
+ flag = !flags[attribute]
67
+ flag = true if @options["on"]
68
+ flag = false if @options["off"]
69
+ flags[attribute] = flag
70
+ if flag
71
+ puts "#{data['title']} の #{attribute} フラグを立てました"
58
72
  else
59
- flags[attribute] = true
60
- puts "#{data['title']} #{attribute} フラグを設定しました"
73
+ flags.delete(attribute)
74
+ puts "#{data['title']} から #{attribute} フラグをはずしました"
61
75
  end
62
76
  database[data["id"]]["flags"] = flags
63
77
  end
data/lib/command/list.rb CHANGED
@@ -84,7 +84,8 @@ module Command
84
84
  novel["title"] + (!@options["type"] && novel_type == 2 ?
85
85
  " <gray>(#{NOVEL_TYPE_LABEL[novel_type]})</gray>".termcolor :
86
86
  "") +
87
- (flags["end"] ? " <gray>(完結)</gray>".termcolor : ""),
87
+ (flags["end"] ? " <gray>(完結)</gray>".termcolor : "") +
88
+ (flags["delete"] ? " <gray>(削除)</gray>".termcolor : ""),
88
89
  @options["url"] ? novel["toc_url"] : nil
89
90
  ].compact.join(" | ")
90
91
  end
@@ -49,7 +49,7 @@ module Command
49
49
  display_message = "<red>[ERROR]</red> #{target} は管理小説の中に存在しません".termcolor
50
50
  elsif Narou.novel_frozen?(target)
51
51
  if argv.length > 0
52
- display_message = "#{data["title"]} は凍結中です"
52
+ display_message = "ID:#{data["id"]} #{data["title"]} は凍結中です"
53
53
  else
54
54
  next
55
55
  end
@@ -65,12 +65,13 @@ module Command
65
65
  unless @options["no-convert"]
66
66
  convert_argv = [target]
67
67
  convert_argv << "--no-open" if no_open
68
- Convert.execute_and_rescue_exit(convert_argv)
68
+ Convert.execute!(convert_argv)
69
69
  end
70
70
  when :failed
71
- puts "#{data["title"]} の更新は失敗しました"
71
+ puts "ID:#{data["id"]} #{data["title"]} の更新は失敗しました"
72
+ Freeze.execute!([target])
72
73
  when :canceled
73
- puts "#{data["title"]} の更新はキャンセルされました"
74
+ puts "ID:#{data["id"]} #{data["title"]} の更新はキャンセルされました"
74
75
  when :none
75
76
  puts "#{data["title"]} に更新はありません"
76
77
  end
data/lib/commandbase.rb CHANGED
@@ -39,7 +39,7 @@ module Command
39
39
  # 普通にコマンドを実行するけど、exit(2) を補足してexitstatus を返す
40
40
  # 正常終了なら0
41
41
  #
42
- def self.execute_and_rescue_exit(argv)
42
+ def self.execute!(argv)
43
43
  self.new.execute(argv)
44
44
  rescue SystemExit => e
45
45
  e.status
data/lib/converterbase.rb CHANGED
@@ -856,12 +856,24 @@ class ConverterBase
856
856
  else
857
857
  "[#ルビ用縦線]#{match_target}"
858
858
  end
859
- } + "《#{m2}》"
859
+ } + "《#{ruby_youon_to_big(m2)}》"
860
860
  else
861
861
  match
862
862
  end
863
863
  end
864
864
 
865
+ #
866
+ # ルビの拗音(ぁ、ぃ等)を商業書籍のように大きくする
867
+ #
868
+ def ruby_youon_to_big(ruby)
869
+ result = ruby
870
+ if @setting.enable_ruby_youon_to_big
871
+ result = ruby.tr("ぁぃぅぇぉゃゅょゎっァィゥェォャュョヮッヵヶ",
872
+ "あいうえおやゆよわつアイウエオヤユヨワツカケ")
873
+ end
874
+ result
875
+ end
876
+
865
877
  #
866
878
  # 全角版 String#rstrip!
867
879
  #
data/lib/downloader.rb CHANGED
@@ -376,7 +376,7 @@ class Downloader
376
376
  when "2"
377
377
  return true
378
378
  when "3"
379
- Command::Freeze.execute_and_rescue_exit([old_toc["title"]])
379
+ Command::Freeze.execute!([old_toc["title"]])
380
380
  return true
381
381
  when "4"
382
382
  STDOUT.puts "あらすじ"
@@ -516,10 +516,13 @@ class Downloader
516
516
  rescue OpenURI::HTTPError => e
517
517
  if e.message =~ /^404/
518
518
  error "<red>[404]</red> 小説が削除されている可能性があります"
519
- return false
519
+ $stdout.silence do
520
+ Command::Flag.execute!(["delete", "--on", @id])
521
+ end
520
522
  else
521
- raise
523
+ error "何らかの理由により目次が取得できませんでした(#{e.message})"
522
524
  end
525
+ return false
523
526
  end
524
527
  @setting.multi_match(toc_source, "title", "author", "story", "tcode")
525
528
  @setting["title"] = get_title
@@ -871,6 +874,7 @@ class Downloader
871
874
  #
872
875
  def init_novel_dir
873
876
  novel_dir_path = get_novel_data_dir
877
+ file_title = File.basename(novel_dir_path)
874
878
  FileUtils.mkdir_p(novel_dir_path) unless File.exists?(novel_dir_path)
875
879
  default_settings = NovelSetting::DEFAULT_SETTINGS
876
880
  special_preset_dir = File.join(Narou.get_preset_dir, @setting["domain"], @setting["ncode"])
data/lib/loadconverter.rb CHANGED
@@ -74,7 +74,7 @@ def load_converter(title, archive_path)
74
74
  else
75
75
  return BlankConverter
76
76
  end
77
- conv = $converter_container[title]
77
+ conv = $converter_container[title] || $converter_container[File.basename(archive_path)]
78
78
  if conv
79
79
  return conv
80
80
  else
data/lib/logger.rb CHANGED
@@ -29,6 +29,14 @@ module LoggerModule
29
29
  @is_silent
30
30
  end
31
31
 
32
+ def silence(&block)
33
+ raise "need a block" unless block
34
+ tmp = self.silent
35
+ self.silent = true
36
+ block.call
37
+ self.silent = tmp
38
+ end
39
+
32
40
  def strip_color(str)
33
41
  if $disable_color
34
42
  str
data/lib/novelsetting.rb CHANGED
@@ -241,5 +241,10 @@ class NovelSetting
241
241
  value: "right",
242
242
  help: "enable_add_date_to_title で付与する日付の位置。left か right"
243
243
  },
244
+ {
245
+ name: "enable_ruby_youon_to_big",
246
+ value: false,
247
+ help: "ルビの拗音(ぁ、ぃ等)を商業書籍のように大きくするかどうか"
248
+ },
244
249
  ]
245
250
  end
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.7.1"
6
+ Version = "1.5.8"
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,21 +46,19 @@ narou コマンドのインストール or アップデートが完了しまし
46
46
  初めてこのアプリケーションを使う場合、小説管理用のフォルダを初期化する必要があります。
47
47
  任意のフォルダで `narou init' を実行して下さい。
48
48
 
49
- 2014/06/06 : **1.5.6.1**
49
+ 2014/06/25 : **1.5.8**
50
50
  * 追加機能もしくは仕様変更
51
- - タイトルにつく更新日の日付を新着があった日付に変更
52
- * Bug Fix
53
- - 初期化時に `narou init` を実行できない問題を修正
54
-
55
- 2014/06/14 : **1.5.7**
56
- * 追加機能もしくは仕様変更
57
- - 小説家になろうにおいて、10話ごとにかけていたウェイトを削除
58
- * Bug Fix
59
- - &#39; (') のエンティティ変換を追加
60
-
61
- 2014/06/15 : **1.5.7.1**
62
- * 追加機能もしくは仕様変更
63
- - 10話ごとの制限が復活していたので、1.5.7で外したウェイトを復活させました
51
+ - 小説が削除されていた場合に自動で凍結するようになりました
52
+ - 小説が削除されている場合に `list` コマンドで(削除)と表示されるようになりました
53
+ - 更新に失敗した小説を表示するときにIDも合わせて表示するようにしました
54
+ - `flag` コマンドに強制設定用の `--on` 及び `--off` オプションを追加しました
55
+ - `flag` コマンドに `delete` フラグを追加しました(削除表示への対応)
56
+ - ルビの拗音(ぁ、ぃ、ゃ等)を商業書籍のように大きくする機能を追加しました
57
+ + `narou s force.enable_ruby_youon_to_big=true` とするか、
58
+ setting.ini `enable_ruby_youon_to_big=true` を追加して下さい(標準ではオフ)
59
+ - 今バージョン以降ダウンロードした小説は、小説タイトルが変わっても converter.rb に関するエラーが
60
+ 発生しないように調整しました。ただし、すでにダウンロード済み小説には適用されないため、エラーが出た場合は
61
+ converter.rb の削除で対応をお願いします
64
62
 
65
63
  #{"*" * 79}
66
64
  EOS
@@ -7,7 +7,7 @@
7
7
  # 作者: <%= @setting["author"] %>
8
8
  # URL: <%= @setting["toc_url"] %>
9
9
  #
10
- converter "<%= @setting["title"].gsub('"', '\"') %>" do
10
+ converter "<%= file_title.gsub('"', '\"') %>" do
11
11
  def before(io, text_type)
12
12
  super
13
13
  end
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.7.1
4
+ version: 1.5.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - whiteleaf7
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-14 00:00:00.000000000 Z
11
+ date: 2014-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: termcolor
@@ -191,21 +191,19 @@ post_install_message: |
191
191
  初めてこのアプリケーションを使う場合、小説管理用のフォルダを初期化する必要があります。
192
192
  任意のフォルダで `narou init' を実行して下さい。
193
193
 
194
- 2014/06/06 : **1.5.6.1**
194
+ 2014/06/25 : **1.5.8**
195
195
  * 追加機能もしくは仕様変更
196
- - タイトルにつく更新日の日付を新着があった日付に変更
197
- * Bug Fix
198
- - 初期化時に `narou init` を実行できない問題を修正
199
-
200
- 2014/06/14 : **1.5.7**
201
- * 追加機能もしくは仕様変更
202
- - 小説家になろうにおいて、10話ごとにかけていたウェイトを削除
203
- * Bug Fix
204
- - &#39; (') のエンティティ変換を追加
205
-
206
- 2014/06/15 : **1.5.7.1**
207
- * 追加機能もしくは仕様変更
208
- - 10話ごとの制限が復活していたので、1.5.7で外したウェイトを復活させました
196
+ - 小説が削除されていた場合に自動で凍結するようになりました
197
+ - 小説が削除されている場合に `list` コマンドで(削除)と表示されるようになりました
198
+ - 更新に失敗した小説を表示するときにIDも合わせて表示するようにしました
199
+ - `flag` コマンドに強制設定用の `--on` 及び `--off` オプションを追加しました
200
+ - `flag` コマンドに `delete` フラグを追加しました(削除表示への対応)
201
+ - ルビの拗音(ぁ、ぃ、ゃ等)を商業書籍のように大きくする機能を追加しました
202
+ + `narou s force.enable_ruby_youon_to_big=true` とするか、
203
+ setting.ini `enable_ruby_youon_to_big=true` を追加して下さい(標準ではオフ)
204
+ - 今バージョン以降ダウンロードした小説は、小説タイトルが変わっても converter.rb に関するエラーが
205
+ 発生しないように調整しました。ただし、すでにダウンロード済み小説には適用されないため、エラーが出た場合は
206
+ converter.rb の削除で対応をお願いします
209
207
 
210
208
  *******************************************************************************
211
209
  rdoc_options: []