narou 1.5.0.2 → 1.5.1
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 +4 -4
- data/ChangeLog.md +13 -1
- data/README.md +12 -20
- data/lib/command/setting.rb +1 -0
- data/lib/commandline.rb +13 -0
- data/lib/converterbase.rb +16 -7
- data/lib/downloader.rb +5 -3
- data/lib/helper.rb +1 -1
- data/lib/novelinfo.rb +0 -1
- data/lib/version.rb +1 -1
- data/narou.gemspec +9 -11
- metadata +11 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e1f35ba6c5d9ac0c42cd420d1e3cdb371361367
|
4
|
+
data.tar.gz: 536affd7769b750b01d18867e99518e8938a89fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: feb70cec5a82dc6d6a9f8acf43491e0bcf74ee3bd5b1b4ee6528e245044b8ee79c85b6081b31e99079fefe56628d3cd4b7bbd82af8b66d5815ff1714070faec3
|
7
|
+
data.tar.gz: 0029bcfb4df95e32cc54afaeaf2c671dd903ffc05f58f543086f5e632de53828516def709f0e50e2c15780aa8f01c0bccba81f133ee5738160b8043763cc0ad5
|
data/ChangeLog.md
CHANGED
@@ -2,7 +2,19 @@
|
|
2
2
|
更新履歴 - ChangeLog
|
3
3
|
--------------------
|
4
4
|
|
5
|
-
2014/03/
|
5
|
+
2014/03/07 : **1.5.1**
|
6
|
+
* 追加機能もしくは仕様変更
|
7
|
+
- `narou d Nコード1,Nコード2,URL1 --multiple` のように、スペース区切り以外に `,` で区切れる機能を追加しました
|
8
|
+
+ 有効にするには `--multiple` オプションを付けて下さい
|
9
|
+
+ 区切り文字を `,` から変更するには `narou s multiple-delimiter=区切り文字` と設定して下さい
|
10
|
+
* Bug Fix
|
11
|
+
- ルビ記号が入れ子になっている時に正常にルビ化できていなかった問題を修正
|
12
|
+
- NKFによって全角ダッシュ(u2015)が全角マイナス?(u2014)に変換されてしまう問題を修正
|
13
|
+
- サブタイトルにタブ文字が入っている場合にダウンロード中にエラーが出る問題を修正
|
14
|
+
- ノクターンノベルズ及びムーンライトノベルズを2個以上同時にダウンロードした場合に、
|
15
|
+
2個目以降が正常にDL出来ない問題を修正
|
16
|
+
|
17
|
+
2014/03/06 : **1.5.0.2**
|
6
18
|
* 追加機能もしくは仕様変更
|
7
19
|
- `narou list` で(短編)の表示色がグレーになります
|
8
20
|
* Bug Fix
|
data/README.md
CHANGED
@@ -21,6 +21,18 @@ Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンロ
|
|
21
21
|
更新履歴 - ChangeLog
|
22
22
|
--------------------
|
23
23
|
|
24
|
+
2014/03/07 : **1.5.1**
|
25
|
+
* 追加機能もしくは仕様変更
|
26
|
+
- `narou d Nコード1,Nコード2,URL1 --multiple` のように、スペース区切り以外に `,` で区切れる機能を追加しました
|
27
|
+
+ 有効にするには `--multiple` オプションを付けて下さい
|
28
|
+
+ 区切り文字を `,` から変更するには `narou s multiple-delimiter=区切り文字` と設定して下さい
|
29
|
+
* Bug Fix
|
30
|
+
- ルビ記号が入れ子になっている時に正常にルビ化できていなかった問題を修正
|
31
|
+
- NKFによって全角ダッシュ(u2015)が全角マイナス?(u2014)に変換されてしまう問題を修正
|
32
|
+
- サブタイトルにタブ文字が入っている場合にダウンロード中にエラーが出る問題を修正
|
33
|
+
- ノクターンノベルズ及びムーンライトノベルズを2個以上同時にダウンロードした場合に、
|
34
|
+
2個目以降が正常にDL出来ない問題を修正
|
35
|
+
|
24
36
|
2014/03/06 : **1.5.0**
|
25
37
|
* 追加機能もしくは仕様変更
|
26
38
|
- 小説投稿サイト **[ハーメルン](http://syosetu.org/)** に対応しました
|
@@ -53,26 +65,6 @@ Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンロ
|
|
53
65
|
- issues #35 行頭に三点リーダーの代わりに連続中黒(・・・)が来た時自動字下げがされていなかったのを修正
|
54
66
|
- 連続で小説をダウンロードする時に 503 エラーがでてしまう場合がある問題を修正
|
55
67
|
|
56
|
-
2014/02/26 : **1.4.4**
|
57
|
-
* 追加機能もしくは仕様変更
|
58
|
-
- **短編小説** に対応しました
|
59
|
-
+ `narou list` コマンドで短編小説にはタイトルの後ろに(短編)と付きます
|
60
|
-
- `narou list` コマンドが拡張されました
|
61
|
-
+ 一覧の表示を絞る `--filter` オプションを追加しました(短縮 -f)
|
62
|
-
- `--filter` に続いて `series` (連載)、`ss` (短編)を指定出来ます
|
63
|
-
- コマンド例: `narou list --filter series` 連載小説のみを表示する
|
64
|
-
- コマンド例: `narou list -f ss -rl` 短編小説のみを更新の古い順に表示する
|
65
|
-
+ 表示する項目を増やす `--type` オプションを追加しました(短縮 -t)
|
66
|
-
- オプションを指定すると「種別」という項目が追加され、「連載」か「短編」かが表示されます
|
67
|
-
- `narou remove` コマンドに全ての短編小説を削除する `--all-ss` オプションが追加されました
|
68
|
-
+ ファイルも全て消すには通常通り `--with--file` オプションを同時に付ける必要があります
|
69
|
-
- `narou download` コマンドにダウンロードが終わったあと削除する `--remove` オプションが追加されました(短縮 -r)
|
70
|
-
+ 更新をチェックする必要があまりない短編小説などのためのオプションです
|
71
|
-
+ 小説データフォルダ下にファイルは残っているので、ダウンロード時に送信まで行わなかった場合は、手動で
|
72
|
-
書籍データをコピーすることが出来ます。また、ファイルを消す場合も手動で削除する必要があります
|
73
|
-
* Bug Fix
|
74
|
-
- 検索除外設定されている小説がダウンロード出来ない問題を修正
|
75
|
-
|
76
68
|
----
|
77
69
|
|
78
70
|
「小説家になろう」は株式会社ヒナプロジェクトの登録商標です
|
data/lib/command/setting.rb
CHANGED
@@ -242,6 +242,7 @@ module Command
|
|
242
242
|
"download.interval" => [:float, "各話DL時に指定した秒数待機する。デフォルト0"],
|
243
243
|
"send.without-freeze" => [:boolean, "`全話'送信時に凍結された小説は対象外に"],
|
244
244
|
"device" => [:string, "変換、送信対象の端末(sendの--help参照)"],
|
245
|
+
"multiple-delimiter" => [:string, "--multiple指定時の区切り文字"],
|
245
246
|
|
246
247
|
},
|
247
248
|
global: {
|
data/lib/commandline.rb
CHANGED
@@ -33,6 +33,9 @@ module CommandLine
|
|
33
33
|
if argv.empty?
|
34
34
|
argv += load_default_arguments(arg)
|
35
35
|
end
|
36
|
+
if argv.delete("--multiple")
|
37
|
+
multiple_argument_extract(argv)
|
38
|
+
end
|
36
39
|
Command.get_list[arg].execute(argv)
|
37
40
|
end
|
38
41
|
|
@@ -40,4 +43,14 @@ module CommandLine
|
|
40
43
|
default_arguments_list = LocalSetting.get["local_setting"]
|
41
44
|
(default_arguments_list["default_args.#{cmd}"] || "").split
|
42
45
|
end
|
46
|
+
|
47
|
+
#
|
48
|
+
# 引数をスペース以外による区切り文字で展開する
|
49
|
+
#
|
50
|
+
def self.multiple_argument_extract(argv)
|
51
|
+
delimiter = LocalSetting.get["local_setting"]["multiple-delimiter"] || ","
|
52
|
+
argv.map! { |arg|
|
53
|
+
arg.split(delimiter)
|
54
|
+
}.flatten!
|
55
|
+
end
|
43
56
|
end
|
data/lib/converterbase.rb
CHANGED
@@ -312,7 +312,8 @@ class ConverterBase
|
|
312
312
|
# 特定の表現・記号を変換していく
|
313
313
|
#
|
314
314
|
def convert_special_characters(data)
|
315
|
-
|
315
|
+
stash_kome(data)
|
316
|
+
convert_double_angle_quotation_to_gaiji(data) # 最初からギュメなのはルビ対象外なので外字注記に
|
316
317
|
symbols_to_zenkaku(data)
|
317
318
|
convert_tatechuyoko(data)
|
318
319
|
convert_novel_rule(data)
|
@@ -323,7 +324,7 @@ class ConverterBase
|
|
323
324
|
# 半角カナと 「」。、・ 等を全角に変換
|
324
325
|
#
|
325
326
|
def hankakukana_to_zenkakukana(data)
|
326
|
-
data.replace(NKF.nkf("-w -X", data))
|
327
|
+
data.replace(NKF.nkf("-w -X", data).tr("\u2014", "―"))
|
327
328
|
end
|
328
329
|
|
329
330
|
#
|
@@ -397,10 +398,16 @@ class ConverterBase
|
|
397
398
|
end
|
398
399
|
|
399
400
|
#
|
400
|
-
#
|
401
|
+
# 先に外字注記にしてしまうと border_symbol? 等で困るので、あとで外字注記化出来るようにする
|
401
402
|
#
|
402
|
-
def
|
403
|
-
data.gsub!("※", "※※")
|
403
|
+
def stash_kome(data)
|
404
|
+
data.gsub!("※", "※※")
|
405
|
+
end
|
406
|
+
|
407
|
+
#
|
408
|
+
# ギュメを二重山括弧(の外字)に変換
|
409
|
+
#
|
410
|
+
def convert_double_angle_quotation_to_gaiji(data)
|
404
411
|
data.gsub!("≪", "※[#始め二重山括弧]")
|
405
412
|
data.gsub!("≫", "※[#終わり二重山括弧]")
|
406
413
|
end
|
@@ -408,7 +415,7 @@ class ConverterBase
|
|
408
415
|
#
|
409
416
|
# ※の外字注記化
|
410
417
|
#
|
411
|
-
#
|
418
|
+
# stash_kome で2つにしておいた※を外字注記化する
|
412
419
|
#
|
413
420
|
def rebuild_kome_to_gaiji(data)
|
414
421
|
data.gsub!("※※", "※[#米印、1-2-8]")
|
@@ -789,7 +796,7 @@ class ConverterBase
|
|
789
796
|
def narou_ruby(data)
|
790
797
|
if @text_type != "subtitle" && @text_type != "chapter"
|
791
798
|
# 《》なルビの対処
|
792
|
-
data.gsub!(/(.+?)≪(
|
799
|
+
data.gsub!(/(.+?)≪([^≪]+?)≫/) do |match|
|
793
800
|
to_ruby(match, $1, $2, ["≪", "≫"])
|
794
801
|
end
|
795
802
|
# ()なルビの対処
|
@@ -1116,6 +1123,8 @@ class ConverterBase
|
|
1116
1123
|
narou_ruby(data) if @setting.enable_ruby
|
1117
1124
|
# 三点リーダーの変換は、ルビで圏点として・・・を使っている場合を考慮して、ルビ処理後にする
|
1118
1125
|
convert_horizontal_ellipsis(data)
|
1126
|
+
# ルビ化されなくて残ったギュメを二重山括弧(の外字)に変換
|
1127
|
+
convert_double_angle_quotation_to_gaiji(data)
|
1119
1128
|
data.strip!
|
1120
1129
|
progressbar.clear if @text_type == "textfile"
|
1121
1130
|
@write_fp
|
data/lib/downloader.rb
CHANGED
@@ -64,7 +64,6 @@ class Downloader
|
|
64
64
|
end
|
65
65
|
downloader = Downloader.new(setting, force, from_download)
|
66
66
|
result = downloader.start_download
|
67
|
-
setting.clear
|
68
67
|
result
|
69
68
|
end
|
70
69
|
|
@@ -202,7 +201,7 @@ class Downloader
|
|
202
201
|
data = get_data_by_target(target) or return nil
|
203
202
|
data_dir = get_novel_data_dir_by_target(target)
|
204
203
|
if with_file
|
205
|
-
FileUtils.remove_entry_secure(data_dir)
|
204
|
+
FileUtils.remove_entry_secure(data_dir, true)
|
206
205
|
puts "#{data_dir} を完全に削除しました"
|
207
206
|
else
|
208
207
|
# TOCは消しておかないと再DL時に古いデータがあると誤認する
|
@@ -354,6 +353,8 @@ class Downloader
|
|
354
353
|
else
|
355
354
|
return :none
|
356
355
|
end
|
356
|
+
ensure
|
357
|
+
@setting.clear
|
357
358
|
end
|
358
359
|
|
359
360
|
#
|
@@ -501,7 +502,7 @@ class Downloader
|
|
501
502
|
# リダイレクトされた場合。
|
502
503
|
# ノクターン・ムーンライトのNコードを ncode.syosetu.com に渡すと、novel18.syosetu.com に飛ばされる
|
503
504
|
# 目次の定義が微妙に ncode.syosetu.com と違うので、設定を取得し直す
|
504
|
-
@setting.clear
|
505
|
+
@setting.clear # 今まで使っていたのは一旦クリア
|
505
506
|
@setting = Downloader.get_sitesetting_by_target(toc_fp.base_uri.to_s)
|
506
507
|
toc_url = @setting["toc_url"]
|
507
508
|
end
|
@@ -592,6 +593,7 @@ class Downloader
|
|
592
593
|
match_data = @setting.multi_match(toc_post, "subtitles")
|
593
594
|
break unless match_data
|
594
595
|
toc_post = match_data.post_match
|
596
|
+
@setting["subtitle"] = @setting["subtitle"].gsub("\t", "")
|
595
597
|
subtitles << {
|
596
598
|
"index" => @setting["index"],
|
597
599
|
"href" => @setting["href"],
|
data/lib/helper.rb
CHANGED
@@ -87,7 +87,7 @@ module Helper
|
|
87
87
|
end
|
88
88
|
|
89
89
|
def replace_filename_special_chars(str, invalid_replace = false)
|
90
|
-
result = str.tr("/:*?\"<>|.", "/:*?”〈〉|.").gsub("\\", "¥")
|
90
|
+
result = str.tr("/:*?\"<>|.", "/:*?”〈〉|.").gsub("\\", "¥").gsub("\t", "")
|
91
91
|
if invalid_replace
|
92
92
|
org_encoding = result.encoding
|
93
93
|
result = result.encode(Encoding::Windows_31J, invalid: :replace, undef: :replace, replace: "_")
|
data/lib/novelinfo.rb
CHANGED
data/lib/version.rb
CHANGED
data/narou.gemspec
CHANGED
@@ -46,19 +46,17 @@ narou コマンドのインストール or アップデートが完了しまし
|
|
46
46
|
初めてこのアプリケーションを使う場合、小説管理用のフォルダを初期化する必要があります。
|
47
47
|
任意のフォルダで `narou init' を実行して下さい。
|
48
48
|
|
49
|
-
2014/03/
|
49
|
+
2014/03/07 : **1.5.1**
|
50
50
|
* 追加機能もしくは仕様変更
|
51
|
-
-
|
52
|
-
|
53
|
-
+
|
54
|
-
URLを " で囲まないとコマンドがきちんと通りませんのでご注意下さい
|
55
|
-
- このバージョン以降ダウンロードした小説の保存フォルダ名には、タイトルの前にIDが付加されるようになりました
|
56
|
-
- アラビア数字を漢数字に変換しないパターンを追加(%や単位系)
|
57
|
-
- `setting.ini` の項目、 `enable_narou_illust` が `enable_illust` に変更になりました
|
51
|
+
- `narou d Nコード1,Nコード2,URL1 --multiple` のように、スペース区切り以外に `,` で区切れる機能を追加しました
|
52
|
+
+ 有効にするには `--multiple` オプションを付けて下さい
|
53
|
+
+ 区切り文字を `,` から変更するには `narou s multiple-delimiter=区切り文字` と設定して下さい
|
58
54
|
* Bug Fix
|
59
|
-
-
|
60
|
-
-
|
61
|
-
-
|
55
|
+
- ルビ記号が入れ子になっている時に正常にルビ化できていなかった問題を修正
|
56
|
+
- NKFによって全角ダッシュ(u2015)が全角マイナス?(u2014)に変換されてしまう問題を修正
|
57
|
+
- サブタイトルにタブ文字が入っている場合にダウンロード中にエラーが出る問題を修正
|
58
|
+
- ノクターンノベルズ及びムーンライトノベルズを2個以上同時にダウンロードした場合に、
|
59
|
+
2個目以降が正常にDL出来ない問題を修正
|
62
60
|
|
63
61
|
#{"*" * 79}
|
64
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.5.
|
4
|
+
version: 1.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- whiteleaf7
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: termcolor
|
@@ -170,19 +170,17 @@ post_install_message: |
|
|
170
170
|
初めてこのアプリケーションを使う場合、小説管理用のフォルダを初期化する必要があります。
|
171
171
|
任意のフォルダで `narou init' を実行して下さい。
|
172
172
|
|
173
|
-
2014/03/
|
173
|
+
2014/03/07 : **1.5.1**
|
174
174
|
* 追加機能もしくは仕様変更
|
175
|
-
-
|
176
|
-
|
177
|
-
+
|
178
|
-
URLを " で囲まないとコマンドがきちんと通りませんのでご注意下さい
|
179
|
-
- このバージョン以降ダウンロードした小説の保存フォルダ名には、タイトルの前にIDが付加されるようになりました
|
180
|
-
- アラビア数字を漢数字に変換しないパターンを追加(%や単位系)
|
181
|
-
- `setting.ini` の項目、 `enable_narou_illust` が `enable_illust` に変更になりました
|
175
|
+
- `narou d Nコード1,Nコード2,URL1 --multiple` のように、スペース区切り以外に `,` で区切れる機能を追加しました
|
176
|
+
+ 有効にするには `--multiple` オプションを付けて下さい
|
177
|
+
+ 区切り文字を `,` から変更するには `narou s multiple-delimiter=区切り文字` と設定して下さい
|
182
178
|
* Bug Fix
|
183
|
-
-
|
184
|
-
-
|
185
|
-
-
|
179
|
+
- ルビ記号が入れ子になっている時に正常にルビ化できていなかった問題を修正
|
180
|
+
- NKFによって全角ダッシュ(u2015)が全角マイナス?(u2014)に変換されてしまう問題を修正
|
181
|
+
- サブタイトルにタブ文字が入っている場合にダウンロード中にエラーが出る問題を修正
|
182
|
+
- ノクターンノベルズ及びムーンライトノベルズを2個以上同時にダウンロードした場合に、
|
183
|
+
2個目以降が正常にDL出来ない問題を修正
|
186
184
|
|
187
185
|
*******************************************************************************
|
188
186
|
rdoc_options: []
|