narou 2.8.1 → 2.8.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 +4 -4
- data/ChangeLog.md +8 -0
- data/README.md +8 -0
- data/lib/downloader.rb +4 -2
- data/lib/extensions/windows.rb +6 -0
- data/lib/illustration.rb +1 -1
- data/lib/novelinfo.rb +2 -1
- data/lib/version.rb +1 -1
- data/narou.gemspec +6 -66
- data/narou.rb +7 -0
- data/webnovel/https.syosetu.org.yaml +68 -0
- metadata +28 -68
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 72921352f42914121a9bc0b7f0b7715d03b1ccf4
|
4
|
+
data.tar.gz: acdd72fdddabd0d63ef1d1e36e8949afa44dab7a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9de34e81480ac99223824fbdbe8d09a6bd38874cc827caad022b286f36f370255f8fcd9937ca91d05a89c0f33d6ba0657df1ea29f8e505a0ee9b1a7f7ecacb76
|
7
|
+
data.tar.gz: cca5c69ceea10bffdc40d29fb695dd0551fa04359dfec6a4a702ddddfa3795e8266e1ac8d2102d81ac8bbfe3b91d125b887c1973e46bfd5805ab96f4c49d4f87
|
data/ChangeLog.md
CHANGED
@@ -2,6 +2,14 @@
|
|
2
2
|
更新履歴 - ChangeLog
|
3
3
|
====================
|
4
4
|
|
5
|
+
2.8.2 : 2016/02/05
|
6
|
+
------------------
|
7
|
+
#### HotFix
|
8
|
+
- ハーメルンのHTTPS化に対応しました
|
9
|
+
+ 新しく登録する小説を http でダウンロードしようとすると、ダウンロード後に
|
10
|
+
エラーが出るので、https なURLでダウンロードをして下さい
|
11
|
+
|
12
|
+
|
5
13
|
2.8.1 : 2015/12/10
|
6
14
|
------------------
|
7
15
|
#### 追加機能
|
data/README.md
CHANGED
@@ -37,6 +37,14 @@ Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンロ
|
|
37
37
|
更新履歴 - ChangeLog
|
38
38
|
--------------------
|
39
39
|
|
40
|
+
2.8.2 : 2016/02/05
|
41
|
+
------------------
|
42
|
+
#### HotFix
|
43
|
+
- ハーメルンのHTTPS化に対応しました
|
44
|
+
+ 新しく登録する小説を http でダウンロードしようとすると、ダウンロード後に
|
45
|
+
エラーが出るので、https なURLでダウンロードをして下さい
|
46
|
+
|
47
|
+
|
40
48
|
2.8.1 : 2015/12/10
|
41
49
|
------------------
|
42
50
|
#### 追加機能
|
data/lib/downloader.rb
CHANGED
@@ -709,7 +709,8 @@ class Downloader
|
|
709
709
|
return nil unless toc_url
|
710
710
|
toc_source = ""
|
711
711
|
cookie = @setting["cookie"] || ""
|
712
|
-
|
712
|
+
open_uri_options = make_open_uri_options("Cookie" => cookie, allow_redirections: :safe)
|
713
|
+
open(toc_url, open_uri_options) do |toc_fp|
|
713
714
|
if toc_fp.base_uri.to_s != toc_url
|
714
715
|
# リダイレクトされた場合。
|
715
716
|
# ノクターン・ムーンライトのNコードを ncode.syosetu.com に渡すと、novel18.syosetu.com に飛ばされる
|
@@ -1089,7 +1090,8 @@ class Downloader
|
|
1089
1090
|
retry_count = RETRY_MAX_FOR_503
|
1090
1091
|
cookie = @setting["cookie"] || ""
|
1091
1092
|
begin
|
1092
|
-
|
1093
|
+
open_uri_options = make_open_uri_options("Cookie" => cookie, allow_redirections: :safe)
|
1094
|
+
open(url, open_uri_options) do |fp|
|
1093
1095
|
raw = Helper.pretreatment_source(fp.read, @setting["encoding"])
|
1094
1096
|
end
|
1095
1097
|
rescue OpenURI::HTTPError => e
|
data/lib/extensions/windows.rb
CHANGED
data/lib/illustration.rb
CHANGED
@@ -51,7 +51,7 @@ class Illustration
|
|
51
51
|
if path = search_image(basename)
|
52
52
|
return path
|
53
53
|
end
|
54
|
-
open(url) do |fp|
|
54
|
+
open(url, make_open_uri_options(allow_redirections: :safe)) do |fp|
|
55
55
|
content_type = fp.meta["content-type"]
|
56
56
|
ext = MIME[content_type] or raise UnknownMIMEType, content_type
|
57
57
|
illust_abs_path = create_illust_path(basename) + "." + ext
|
data/lib/novelinfo.rb
CHANGED
@@ -36,7 +36,8 @@ class NovelInfo
|
|
36
36
|
request_output_parameters = of.split("-")
|
37
37
|
info_source = ""
|
38
38
|
cookie = @setting["cookie"] || ""
|
39
|
-
|
39
|
+
open_uri_options = make_open_uri_options("Cookie" => cookie, allow_redirections: :safe)
|
40
|
+
open(info_url, open_uri_options) do |fp|
|
40
41
|
info_source = Helper.restor_entity(Helper.pretreatment_source(fp.read, @setting["encoding"]))
|
41
42
|
raise Downloader::DownloaderNotFoundError if Downloader.detect_error_message(@setting, info_source)
|
42
43
|
end
|
data/lib/version.rb
CHANGED
data/narou.gemspec
CHANGED
@@ -32,73 +32,12 @@ Gem::Specification.new do |gem|
|
|
32
32
|
install_message = <<-EOS
|
33
33
|
#{"*" * 79}
|
34
34
|
|
35
|
-
2.8.
|
35
|
+
2.8.2 : 2016/02/05
|
36
36
|
------------------
|
37
|
-
####
|
38
|
-
-
|
39
|
-
+
|
40
|
-
|
41
|
-
タイトルの先頭に付加することで端末のタイトルソートで更新順に並び替えたり
|
42
|
-
等に利用出来ます
|
43
|
-
* $t : 小説のタイトルそのものを埋め込めます。$t を利用することでタイトルの
|
44
|
-
前後両方に日付等を付与することが可能になります。$t が使用された場合は
|
45
|
-
title_date_align は無視されます
|
46
|
-
+ `enable_add_end_to_title` を追加しました。完結済小説のタイトルに(完結)と
|
47
|
-
表示するかを制御出来ます
|
48
|
-
+ `cut_old_subtitles` を追加しました。指定した話数分変換の対象外にすることで
|
49
|
-
変換速度を上げたり容量を節約したり出来ます。(カットした分栞が後ろにずれる
|
50
|
-
と思うので注意して下さい)
|
51
|
-
+ `author_comment_style` を追加しました。前書き・後書きの装飾方法を指定出来る
|
52
|
-
ようになります
|
53
|
-
* css:CSSで装飾。今までの奴です。何も設定しなければこれが使われます
|
54
|
-
* simple:シンプルに段落。字下げして文字を小さくしただけなのでデザインが崩れ
|
55
|
-
にくいです。CSSで装飾すると不具合がでるKoboやAdobe Digital Editionでは
|
56
|
-
こちらの使用をおすすめします
|
57
|
-
* plain:装飾しない。本文との間に区切り線をいれただけで、本文と同じ文字で
|
58
|
-
表示します
|
59
|
-
* 一括で変更する場合は `narou s default.author_comment_style=simple` 等と
|
60
|
-
デフォルト値を設定して下さい
|
61
|
-
- ダイジェスト化時の選択肢を自動で選んでくれる
|
62
|
-
`download.choices-of-digest-options` という設定を追加しました
|
63
|
-
+ `narou s download.choices-of-digest-options=4,1` のようにカンマ区切りで
|
64
|
-
選択したい項目を順番に設定して下さい。詳細は `narou s` コマンドを参照。
|
65
|
-
WEB UI では「環境設定>詳細」にあります
|
66
|
-
- `convert.filename-to-ncode` という設定を追加しました。出力する書籍ファイル名
|
67
|
-
を「ドメイン名_Nコード」で固定出来ます
|
68
|
-
+ `narou s convert.filename-to-ncode=true` で設定出来ます。WEB UI では
|
69
|
-
「環境設定>一般」にあります
|
70
|
-
+ この機能により、作者名や小説タイトルが変わった際に出力ファイル名まで一緒に
|
71
|
-
変更されてしまい栞が消えるのを防いだり、Kobo端末で不正なファイル名と認識
|
72
|
-
されないようにすることが出来ます
|
73
|
-
+ 注意:最低一度は対象小説を更新しないと、変換してもファイル名は変わりません
|
74
|
-
|
75
|
-
#### 仕様変更
|
76
|
-
- `enable_add_end_to_title` の追加に伴い、タイトルへの完結表示はデフォルトでは
|
77
|
-
行わなくなりました
|
78
|
-
- rawデータや本文データを保存する際に長過ぎるファイル名を一定の長さで端折るよう
|
79
|
-
になりました
|
80
|
-
+ この影響で、update 時にエラーが出る場合があります。その場合は再度 update を
|
81
|
-
することで以降は正常に更新することが出来ます(その際に新着と表示されますが
|
82
|
-
仕様です)
|
83
|
-
- `author_comment_style` の追加に伴い、Koboの前書き・後書きの装飾を特別に切り替
|
84
|
-
える処理を削除しました。`narou s default.author_comment_style=simple` で変更
|
85
|
-
して下さい
|
86
|
-
- 行頭で半角スペースで字下げをしてものを全角スペースで置換するようになりました
|
87
|
-
|
88
|
-
#### Bug Fix
|
89
|
-
- 暁の小説で前書き・後書きがあった場合に正常に取得できなくなっていたのを修正
|
90
|
-
|
91
|
-
|
92
|
-
2.8.1 : 2015/12/10
|
93
|
-
------------------
|
94
|
-
#### 追加機能
|
95
|
-
- setting.ini の `title_date_format` に下記の拡張書式を追加しました
|
96
|
-
+ $ns : 小説が掲載されているサイト名
|
97
|
-
+ $nt : 小説種別(短編 or 連載)
|
98
|
-
|
99
|
-
#### 仕様変更
|
100
|
-
- `convert.filename-to-ncode` でファイル名をNコード化するのに、更新をしなくても
|
101
|
-
変換出来るようにしました
|
37
|
+
#### HotFix
|
38
|
+
- ハーメルンのHTTPS化に対応しました
|
39
|
+
+ 新しく登録する小説を http でダウンロードしようとすると、ダウンロード後に
|
40
|
+
エラーが出るので、https なURLでダウンロードをして下さい
|
102
41
|
|
103
42
|
#{"*" * 79}
|
104
43
|
EOS
|
@@ -122,5 +61,6 @@ Gem::Specification.new do |gem|
|
|
122
61
|
gem.add_runtime_dependency 'memoist', '~> 0.11.0'
|
123
62
|
gem.add_runtime_dependency 'systemu', '~> 2.6', '>= 2.6.5'
|
124
63
|
gem.add_runtime_dependency 'erubis', '~> 2.7'
|
64
|
+
gem.add_runtime_dependency 'open_uri_redirections', '~> 0.2', '>= 0.2.1'
|
125
65
|
end
|
126
66
|
|
data/narou.rb
CHANGED
@@ -6,6 +6,13 @@
|
|
6
6
|
# Copyright 2013 whiteleaf. All rights reserved.
|
7
7
|
#
|
8
8
|
|
9
|
+
require "open-uri"
|
10
|
+
require "open_uri_redirections"
|
11
|
+
|
12
|
+
def make_open_uri_options(add)
|
13
|
+
add
|
14
|
+
end
|
15
|
+
|
9
16
|
script_dir = File.expand_path(File.dirname(__FILE__))
|
10
17
|
$debug = File.exist?(File.join(script_dir, "debug"))
|
11
18
|
|
@@ -0,0 +1,68 @@
|
|
1
|
+
# ------------------------------------------------------------
|
2
|
+
# 小説サイト定義
|
3
|
+
name: ハーメルン
|
4
|
+
scheme: https
|
5
|
+
domain: novel.syosetu.org
|
6
|
+
top_url: \\k<scheme>://\\k<domain>
|
7
|
+
url: \\k<top_url>/(?<ncode>\d+)
|
8
|
+
encoding: UTF-8
|
9
|
+
confirm_over18: no
|
10
|
+
append_title_to_folder_name: yes
|
11
|
+
title_strip_pattern: null
|
12
|
+
|
13
|
+
# ------------------------------------------------------------
|
14
|
+
# 目次取得設定
|
15
|
+
toc_url: \\k<top_url>/\\k<ncode>/
|
16
|
+
subtitles: |-
|
17
|
+
(?:<tr><td colspan=2><strong>(?<chapter>.+?)</strong></td></tr>)?<tr bgcolor="#.+?" class="bgcolor\d"><td width=60%><span id="(?<index>\d+?)"> </span> <a href=.+? style="text-decoration:none;">(?<subtitle>.+?)</a></td><td><NOBR>(?<subdate>.+?)(?:<span title="(?<subupdate>.+?)改稿">\(<u>改</u>\)</span>)?</NOBR></td></tr>
|
18
|
+
|
19
|
+
href: \\k<index>.html
|
20
|
+
|
21
|
+
error_message: 投稿者が削除、もしくは間違ったアドレスを指定しています|この作品は投稿者によって削除されました|この作品は完全非公開設定です|この小説は非公開設定になっています
|
22
|
+
|
23
|
+
# ------------------------------------------------------------
|
24
|
+
# 本文取得設定
|
25
|
+
|
26
|
+
body_pattern: |-
|
27
|
+
<span style="font-size:120%">.+?</span><BR><BR>
|
28
|
+
(?<body>.+?)
|
29
|
+
(?:<div id=atogaki><BR><HR><BR>(?<postscript>.+?)</div>)?
|
30
|
+
|
31
|
+
introduction_pattern: <div id=maegaki>(?<introduction>.+)<BR><HR><BR></div>
|
32
|
+
postscript_pattern: null
|
33
|
+
|
34
|
+
illust_current_url: null
|
35
|
+
illust_grep_pattern: <a href="(?<src>.+?)" alt="挿絵" name='img'>【挿絵表示】</a>
|
36
|
+
|
37
|
+
# ------------------------------------------------------------
|
38
|
+
# 小説情報からパースするための設定
|
39
|
+
novel_info_url: http://syosetu.org/?mode=ss_detail&nid=\\k<ncode>&volume=1
|
40
|
+
|
41
|
+
# タイトル
|
42
|
+
t: タイトル</td><td bgcolor=#FFFFFF><a href=.+?>(?<title>.+?)</a>
|
43
|
+
|
44
|
+
# novel_type 小説種別
|
45
|
+
nt: 状態</td><td>.+?,(?<novel_type>.+?)</td>
|
46
|
+
novel_type_string:
|
47
|
+
連載(連載中): 1
|
48
|
+
連載(未完): 1
|
49
|
+
連載(完結): 3
|
50
|
+
短編: 2
|
51
|
+
|
52
|
+
# general_all_no 掲載話数
|
53
|
+
ga: 話数</td><td>(?<general_all_no>\d+)話</td>
|
54
|
+
|
55
|
+
# story あらすじ
|
56
|
+
s: "あらすじ</td><td colspan=3 bgcolor=#FFFFFF>(?<story>.+?)</td>"
|
57
|
+
|
58
|
+
# general_firstup 初回掲載日
|
59
|
+
gf: 掲載開始</td><td>(?<general_firstup>.+?)</td>
|
60
|
+
|
61
|
+
# novelupdated_at 小説の更新時刻。最新投稿日で代用
|
62
|
+
nu: 最新投稿</td><td>(?<novelupdated_at>.+?)</td>
|
63
|
+
|
64
|
+
# general_lastup 最終掲載日
|
65
|
+
gl: 最新投稿</td><td>(?<general_lastup>.+?)</td>
|
66
|
+
|
67
|
+
# writer 作者名
|
68
|
+
w: 作者</td><td bgcolor=\#FFFFFF>(?:<a href=.+?>)?(?<writer>.+?)(?:</a>)?</td>
|
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: 2.8.
|
4
|
+
version: 2.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- whiteleaf7
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: termcolorlight
|
@@ -246,6 +246,26 @@ dependencies:
|
|
246
246
|
- - "~>"
|
247
247
|
- !ruby/object:Gem::Version
|
248
248
|
version: '2.7'
|
249
|
+
- !ruby/object:Gem::Dependency
|
250
|
+
name: open_uri_redirections
|
251
|
+
requirement: !ruby/object:Gem::Requirement
|
252
|
+
requirements:
|
253
|
+
- - "~>"
|
254
|
+
- !ruby/object:Gem::Version
|
255
|
+
version: '0.2'
|
256
|
+
- - ">="
|
257
|
+
- !ruby/object:Gem::Version
|
258
|
+
version: 0.2.1
|
259
|
+
type: :runtime
|
260
|
+
prerelease: false
|
261
|
+
version_requirements: !ruby/object:Gem::Requirement
|
262
|
+
requirements:
|
263
|
+
- - "~>"
|
264
|
+
- !ruby/object:Gem::Version
|
265
|
+
version: '0.2'
|
266
|
+
- - ">="
|
267
|
+
- !ruby/object:Gem::Version
|
268
|
+
version: 0.2.1
|
249
269
|
description: "小説家になろうで公開されている小説の管理、及び電子書籍データへの変換を支援します。縦書用に特化されており、横書き用に特化されたWEB小説を違和感なく縦書で読むことが出来るようになります。"
|
250
270
|
email:
|
251
271
|
- 2nd.leaf@gmail.com
|
@@ -497,6 +517,7 @@ files:
|
|
497
517
|
- template/novel.txt.erb
|
498
518
|
- template/replace.txt.erb
|
499
519
|
- template/setting.ini.erb
|
520
|
+
- webnovel/https.syosetu.org.yaml
|
500
521
|
- webnovel/ncode.syosetu.com.yaml
|
501
522
|
- webnovel/novel18.syosetu.com.yaml
|
502
523
|
- webnovel/syosetu.org.yaml
|
@@ -509,73 +530,12 @@ metadata: {}
|
|
509
530
|
post_install_message: |
|
510
531
|
*******************************************************************************
|
511
532
|
|
512
|
-
2.8.
|
513
|
-
------------------
|
514
|
-
#### 追加機能
|
515
|
-
- setting.ini に項目をいくつか追加しました
|
516
|
-
+ `title_date_format` の拡張書式として $s と $t を追加しました。
|
517
|
-
* $s : 2045年くらいまでの残り時間(10分間隔)を4桁の文字列で埋め込めます。
|
518
|
-
タイトルの先頭に付加することで端末のタイトルソートで更新順に並び替えたり
|
519
|
-
等に利用出来ます
|
520
|
-
* $t : 小説のタイトルそのものを埋め込めます。$t を利用することでタイトルの
|
521
|
-
前後両方に日付等を付与することが可能になります。$t が使用された場合は
|
522
|
-
title_date_align は無視されます
|
523
|
-
+ `enable_add_end_to_title` を追加しました。完結済小説のタイトルに(完結)と
|
524
|
-
表示するかを制御出来ます
|
525
|
-
+ `cut_old_subtitles` を追加しました。指定した話数分変換の対象外にすることで
|
526
|
-
変換速度を上げたり容量を節約したり出来ます。(カットした分栞が後ろにずれる
|
527
|
-
と思うので注意して下さい)
|
528
|
-
+ `author_comment_style` を追加しました。前書き・後書きの装飾方法を指定出来る
|
529
|
-
ようになります
|
530
|
-
* css:CSSで装飾。今までの奴です。何も設定しなければこれが使われます
|
531
|
-
* simple:シンプルに段落。字下げして文字を小さくしただけなのでデザインが崩れ
|
532
|
-
にくいです。CSSで装飾すると不具合がでるKoboやAdobe Digital Editionでは
|
533
|
-
こちらの使用をおすすめします
|
534
|
-
* plain:装飾しない。本文との間に区切り線をいれただけで、本文と同じ文字で
|
535
|
-
表示します
|
536
|
-
* 一括で変更する場合は `narou s default.author_comment_style=simple` 等と
|
537
|
-
デフォルト値を設定して下さい
|
538
|
-
- ダイジェスト化時の選択肢を自動で選んでくれる
|
539
|
-
`download.choices-of-digest-options` という設定を追加しました
|
540
|
-
+ `narou s download.choices-of-digest-options=4,1` のようにカンマ区切りで
|
541
|
-
選択したい項目を順番に設定して下さい。詳細は `narou s` コマンドを参照。
|
542
|
-
WEB UI では「環境設定>詳細」にあります
|
543
|
-
- `convert.filename-to-ncode` という設定を追加しました。出力する書籍ファイル名
|
544
|
-
を「ドメイン名_Nコード」で固定出来ます
|
545
|
-
+ `narou s convert.filename-to-ncode=true` で設定出来ます。WEB UI では
|
546
|
-
「環境設定>一般」にあります
|
547
|
-
+ この機能により、作者名や小説タイトルが変わった際に出力ファイル名まで一緒に
|
548
|
-
変更されてしまい栞が消えるのを防いだり、Kobo端末で不正なファイル名と認識
|
549
|
-
されないようにすることが出来ます
|
550
|
-
+ 注意:最低一度は対象小説を更新しないと、変換してもファイル名は変わりません
|
551
|
-
|
552
|
-
#### 仕様変更
|
553
|
-
- `enable_add_end_to_title` の追加に伴い、タイトルへの完結表示はデフォルトでは
|
554
|
-
行わなくなりました
|
555
|
-
- rawデータや本文データを保存する際に長過ぎるファイル名を一定の長さで端折るよう
|
556
|
-
になりました
|
557
|
-
+ この影響で、update 時にエラーが出る場合があります。その場合は再度 update を
|
558
|
-
することで以降は正常に更新することが出来ます(その際に新着と表示されますが
|
559
|
-
仕様です)
|
560
|
-
- `author_comment_style` の追加に伴い、Koboの前書き・後書きの装飾を特別に切り替
|
561
|
-
える処理を削除しました。`narou s default.author_comment_style=simple` で変更
|
562
|
-
して下さい
|
563
|
-
- 行頭で半角スペースで字下げをしてものを全角スペースで置換するようになりました
|
564
|
-
|
565
|
-
#### Bug Fix
|
566
|
-
- 暁の小説で前書き・後書きがあった場合に正常に取得できなくなっていたのを修正
|
567
|
-
|
568
|
-
|
569
|
-
2.8.1 : 2015/12/10
|
533
|
+
2.8.2 : 2016/02/05
|
570
534
|
------------------
|
571
|
-
####
|
572
|
-
-
|
573
|
-
+
|
574
|
-
|
575
|
-
|
576
|
-
#### 仕様変更
|
577
|
-
- `convert.filename-to-ncode` でファイル名をNコード化するのに、更新をしなくても
|
578
|
-
変換出来るようにしました
|
535
|
+
#### HotFix
|
536
|
+
- ハーメルンのHTTPS化に対応しました
|
537
|
+
+ 新しく登録する小説を http でダウンロードしようとすると、ダウンロード後に
|
538
|
+
エラーが出るので、https なURLでダウンロードをして下さい
|
579
539
|
|
580
540
|
*******************************************************************************
|
581
541
|
rdoc_options: []
|