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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e854b0124222d692eae2d73adde3e66308ae13eb
4
- data.tar.gz: bd9954275c47a6e94052e442b31ec0529cee6787
3
+ metadata.gz: 870eb38aa05bbd681c0844ecd2170081c2ec7cf8
4
+ data.tar.gz: e5125b2222ce3756119751b678c42588aba5aae3
5
5
  SHA512:
6
- metadata.gz: 8a04e6c4c8560af570c81d06a7a23b02bfdea7437f96bf59a63a2823516d3a155dcafc02c163001d93abb2c523e53a376eb028e3d8eb7c36592f3932d4a14366
7
- data.tar.gz: 776a124167f7f0714782f31fa766281adc7c5e688e6be6c97373b9b89f6b82fb1bb77b89a62fe954940344af6789652efef37a0d9d1f030d4767ff20ddd32b5f
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 && novel_data["ncode"]
189
- serialized_domain = novel_data["domain"].to_s.gsub(".", "_")
190
- %!#{serialized_domain}_#{novel_data["ncode"]}#{ext}!
191
- else
192
- if filename_to_ncode
193
- puts "<yellow>ファイル名をNコードにするには一度以上小説を更新して下さい</yellow>".termcolor
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
@@ -427,20 +427,35 @@ class NovelConverter
427
427
  # 日付の種類は title_date_target で指定する
428
428
  #
429
429
  # strftime の書式の他に拡張書式として $s, $t をサポートする
430
- # $s: 2045年くらいまでの残り時間を10分単位の36進数(4桁)
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
- reverse_time = calc_reverse_short_time(new_arrivals_date)
440
- date_str = new_arrivals_date.strftime(@setting.title_date_format).gsub("$s", reverse_time)
441
- if date_str.include?("$t")
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.gsub("$t", title)
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
- "author" => @novel_author, "title" => @novel_title,
525
- "ncode" => @data["ncode"], "domain" => @data["domain"]
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: "enable_add_date_to_title で付与する日付のフォーマット。書式は http://bit.ly/1m5e3w7 を参照。Narou.rb専用の書式として $s (2045年までの残り時間(10分単位の4桁の36進数))、$t (小説のタイトル) も使用可能"
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
@@ -3,4 +3,4 @@
3
3
  # Copyright 2013 whiteleaf. All rights reserved.
4
4
  #
5
5
 
6
- Version = "2.8.0"
6
+ Version = "2.8.1"
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.0
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: