narou 2.8.0 → 2.8.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 +12 -0
- data/README.md +12 -0
- data/lib/downloader.rb +0 -2
- data/lib/narou.rb +23 -6
- data/lib/novelconverter.rb +23 -8
- data/lib/novelsetting.rb +8 -1
- data/lib/version.rb +1 -1
- data/narou.gemspec +12 -0
- metadata +13 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 870eb38aa05bbd681c0844ecd2170081c2ec7cf8
|
4
|
+
data.tar.gz: e5125b2222ce3756119751b678c42588aba5aae3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba5e77a790890dc38977adf3d236982516c68ca8abfd88af5d2f7cbd60ecea2857e5ed268f6bee1ff28906a665187638e72c4c02ba585a1e72074cf35e876c40
|
7
|
+
data.tar.gz: dac307c04c44e5d426a629028931e4e9a8303fb34abe6567c1ad936ea4969be8275305e8c3fb768f54111a5a624a0e8572feb5710a0452e928d00b99b0157a73
|
data/ChangeLog.md
CHANGED
@@ -2,6 +2,18 @@
|
|
2
2
|
更新履歴 - ChangeLog
|
3
3
|
====================
|
4
4
|
|
5
|
+
2.8.1 : 2015/12/10
|
6
|
+
------------------
|
7
|
+
#### 追加機能
|
8
|
+
- setting.ini の `title_date_format` に下記の拡張書式を追加しました
|
9
|
+
+ $ns : 小説が掲載されているサイト名
|
10
|
+
+ $nt : 小説種別(短編 or 連載)
|
11
|
+
|
12
|
+
#### 仕様変更
|
13
|
+
- `convert.filename-to-ncode` でファイル名をNコード化するのに、更新をしなくても
|
14
|
+
変換出来るようにしました
|
15
|
+
|
16
|
+
|
5
17
|
2.8.0 : 2015/12/09
|
6
18
|
------------------
|
7
19
|
#### 追加機能
|
data/README.md
CHANGED
@@ -37,6 +37,18 @@ Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンロ
|
|
37
37
|
更新履歴 - ChangeLog
|
38
38
|
--------------------
|
39
39
|
|
40
|
+
2.8.1 : 2015/12/10
|
41
|
+
------------------
|
42
|
+
#### 追加機能
|
43
|
+
- setting.ini の `title_date_format` に下記の拡張書式を追加しました
|
44
|
+
+ $ns : 小説が掲載されているサイト名
|
45
|
+
+ $nt : 小説種別(短編 or 連載)
|
46
|
+
|
47
|
+
#### 仕様変更
|
48
|
+
- `convert.filename-to-ncode` でファイル名をNコード化するのに、更新をしなくても
|
49
|
+
変換出来るようにしました
|
50
|
+
|
51
|
+
|
40
52
|
2.8.0 : 2015/12/09
|
41
53
|
------------------
|
42
54
|
#### 追加機能
|
data/lib/downloader.rb
CHANGED
@@ -613,8 +613,6 @@ class Downloader
|
|
613
613
|
"general_firstup" => info["general_firstup"],
|
614
614
|
"novelupdated_at" => get_novelupdated_at,
|
615
615
|
"general_lastup" => get_general_lastup,
|
616
|
-
"ncode" => @setting["ncode"],
|
617
|
-
"domain" => @setting["domain"],
|
618
616
|
}
|
619
617
|
if @@database[@id]
|
620
618
|
@@database[@id].merge!(data)
|
data/lib/narou.rb
CHANGED
@@ -183,15 +183,27 @@ module Narou
|
|
183
183
|
end
|
184
184
|
memoize :get_aozoraepub3_path
|
185
185
|
|
186
|
+
#
|
187
|
+
# 書籍ファイル名を生成する
|
188
|
+
# convert.filename-to-ncode を設定している場合に novel_data に ncode、domain を
|
189
|
+
# 設定しない場合は id カラムが必須
|
190
|
+
#
|
186
191
|
def create_novel_filename(novel_data, ext = "")
|
187
192
|
filename_to_ncode = Inventory.load("local_setting")["convert.filename-to-ncode"]
|
188
|
-
if filename_to_ncode
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
193
|
+
if filename_to_ncode
|
194
|
+
ncode, domain = novel_data["ncode"], novel_data["domain"]
|
195
|
+
if !ncode || !domain
|
196
|
+
id = novel_data["id"]
|
197
|
+
unless id
|
198
|
+
raise ArgumentError, %!novel_data["id"] を設定して下さい!
|
199
|
+
end
|
200
|
+
site_setting = Downloader.get_sitesetting_by_target(id)
|
201
|
+
ncode = site_setting["ncode"]
|
202
|
+
domain = site_setting["domain"]
|
194
203
|
end
|
204
|
+
serialized_domain = domain.to_s.gsub(".", "_")
|
205
|
+
%!#{serialized_domain}_#{ncode}#{ext}!
|
206
|
+
else
|
195
207
|
author, title = %w(author title).map { |k|
|
196
208
|
Helper.replace_filename_special_chars(novel_data[k], true)
|
197
209
|
}
|
@@ -258,5 +270,10 @@ module Narou
|
|
258
270
|
eco_modes = Inventory.load("local_setting")["economy"].to_s.split(",").map(&:strip)
|
259
271
|
eco_modes.include?(mode)
|
260
272
|
end
|
273
|
+
|
274
|
+
def novel_type_text(type)
|
275
|
+
type == 2 ? "短編" : "連載"
|
276
|
+
end
|
277
|
+
|
261
278
|
end
|
262
279
|
end
|
data/lib/novelconverter.rb
CHANGED
@@ -427,20 +427,35 @@ class NovelConverter
|
|
427
427
|
# 日付の種類は title_date_target で指定する
|
428
428
|
#
|
429
429
|
# strftime の書式の他に拡張書式として $s, $t をサポートする
|
430
|
-
# $s
|
431
|
-
# $t
|
430
|
+
# $s 2045年くらいまでの残り時間を10分単位の36進数(4桁)
|
431
|
+
# $t タイトル自身。書式の中で自由な位置にタイトルを埋め込める
|
432
|
+
# $ns 小説が掲載されているサイト名
|
433
|
+
# $nt 小説種別(短編 or 連載)
|
432
434
|
#
|
433
435
|
# ※ $t を使用した場合、title_date_align を無視する
|
434
436
|
#
|
435
437
|
def add_date_to_title(title)
|
436
438
|
result = title
|
439
|
+
|
437
440
|
if @setting.enable_add_date_to_title
|
438
441
|
new_arrivals_date = @data[@setting.title_date_target] || Time.now
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
+
special_format_chars = [
|
443
|
+
["$s", calc_reverse_short_time(new_arrivals_date)],
|
444
|
+
["$ns", @data["sitename"]],
|
445
|
+
["$nt", Narou.novel_type_text(@data["novel_type"])],
|
446
|
+
["$t", title]
|
447
|
+
]
|
448
|
+
|
449
|
+
date_str = new_arrivals_date.strftime(@setting.title_date_format)
|
450
|
+
doller_t_included = date_str.include?("$t")
|
451
|
+
|
452
|
+
special_format_chars.each do |(symbol, replace_text)|
|
453
|
+
date_str.gsub!(symbol, replace_text)
|
454
|
+
end
|
455
|
+
|
456
|
+
if doller_t_included
|
442
457
|
# $t で任意の位置にタイトルを埋め込むために title_date_align は無視する
|
443
|
-
result = date_str
|
458
|
+
result = date_str
|
444
459
|
else
|
445
460
|
if @setting.title_date_align == "left"
|
446
461
|
result = date_str + result
|
@@ -521,8 +536,8 @@ class NovelConverter
|
|
521
536
|
info["domain"] = "text"
|
522
537
|
else
|
523
538
|
info = {
|
524
|
-
"
|
525
|
-
"
|
539
|
+
"id" => @novel_id,
|
540
|
+
"author" => @novel_author, "title" => @novel_title
|
526
541
|
}
|
527
542
|
end
|
528
543
|
filename = Narou.create_novel_filename(info)
|
data/lib/novelsetting.rb
CHANGED
@@ -376,7 +376,14 @@ class NovelSetting
|
|
376
376
|
name: "title_date_format",
|
377
377
|
type: :string,
|
378
378
|
value: "(%-m/%-d)",
|
379
|
-
help:
|
379
|
+
help: <<-EOS
|
380
|
+
enable_add_date_to_title で付与する日付のフォーマット。書式は http://bit.ly/1m5e3w7 を参照。
|
381
|
+
Narou.rb専用の書式として下記のものも使用可能。
|
382
|
+
$s 2045年までの残り時間(10分単位の4桁の36進数)
|
383
|
+
$t 小説のタイトル
|
384
|
+
$ns 小説が掲載されているサイト名
|
385
|
+
$nt 小説種別(短編 or 連載)
|
386
|
+
EOS
|
380
387
|
},
|
381
388
|
{
|
382
389
|
name: "title_date_align",
|
data/lib/version.rb
CHANGED
data/narou.gemspec
CHANGED
@@ -88,6 +88,18 @@ Gem::Specification.new do |gem|
|
|
88
88
|
#### Bug Fix
|
89
89
|
- 暁の小説で前書き・後書きがあった場合に正常に取得できなくなっていたのを修正
|
90
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
|
+
変換出来るようにしました
|
102
|
+
|
91
103
|
#{"*" * 79}
|
92
104
|
EOS
|
93
105
|
gem.post_install_message = install_message.gsub("\t", " ")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- whiteleaf7
|
@@ -565,6 +565,18 @@ post_install_message: |
|
|
565
565
|
#### Bug Fix
|
566
566
|
- 暁の小説で前書き・後書きがあった場合に正常に取得できなくなっていたのを修正
|
567
567
|
|
568
|
+
|
569
|
+
2.8.1 : 2015/12/10
|
570
|
+
------------------
|
571
|
+
#### 追加機能
|
572
|
+
- setting.ini の `title_date_format` に下記の拡張書式を追加しました
|
573
|
+
+ $ns : 小説が掲載されているサイト名
|
574
|
+
+ $nt : 小説種別(短編 or 連載)
|
575
|
+
|
576
|
+
#### 仕様変更
|
577
|
+
- `convert.filename-to-ncode` でファイル名をNコード化するのに、更新をしなくても
|
578
|
+
変換出来るようにしました
|
579
|
+
|
568
580
|
*******************************************************************************
|
569
581
|
rdoc_options: []
|
570
582
|
require_paths:
|