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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4625af8c2ffb32948b1ef5f954080e498b5e6340
4
- data.tar.gz: f332abaa1be77aec804f9e410cec7928d6d919d2
3
+ metadata.gz: 4e1f35ba6c5d9ac0c42cd420d1e3cdb371361367
4
+ data.tar.gz: 536affd7769b750b01d18867e99518e8938a89fc
5
5
  SHA512:
6
- metadata.gz: 53a8378a8bc7f453ed80a9a0116161436622aeae0e4c85ebeb63fc3e8a509c86400018f45ac0bc96979f74f5ea7af92b03f39aa57714f4b3ebaf388b1873e54f
7
- data.tar.gz: cceaa7fdcc2b0f65eca31eff9edd8a74c90c04d16b653cf93fcb3d2b7fdded3346f610c1e2e32aee3623a9659fe960d74063b840b7ee8db605d7f2fe42606448
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/xx : **1.5.0.2**
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
  「小説家になろう」は株式会社ヒナプロジェクトの登録商標です
@@ -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
- convert_aozora_special_charactoers(data)
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 convert_aozora_special_charactoers(data)
403
- data.gsub!("※", "※※") # 外字注記表記だと border_symbol? 等で困るのであとで外字注記化する
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
- # convert_aozora_special_charactoers で2つにしておいた※を外字注記化する
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!(/(.+?)≪(.+?)≫/) do |match|
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
@@ -5,7 +5,6 @@
5
5
 
6
6
  require "open-uri"
7
7
  require "time"
8
- require_relative "sitesetting"
9
8
  require_relative "html"
10
9
 
11
10
  class NovelInfo
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.0.2"
6
+ Version = "1.5.1"
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,19 +46,17 @@ narou コマンドのインストール or アップデートが完了しまし
46
46
  初めてこのアプリケーションを使う場合、小説管理用のフォルダを初期化する必要があります。
47
47
  任意のフォルダで `narou init' を実行して下さい。
48
48
 
49
- 2014/03/06 : **1.5.0**
49
+ 2014/03/07 : **1.5.1**
50
50
  * 追加機能もしくは仕様変更
51
- - 小説投稿サイト ハーメルン (http://syosetu.org/) に対応しました
52
- - 小説投稿サイト Arcadia (http://www.mai-net.net/) に対応しました
53
- + Arcadiaは `narou d "http://www.mai-net.net/bbs/sst/sst.php?~略~&n=0&count=1"` のように
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
- - `narou browser --vote` コマンドがなろうのレイアウト変更に対応していなかったので修正
60
- - 半角カナを全角カナに変換するように修正 #36
61
- - 小説のタイトルにはルビをふれないように修正 #37
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.0.2
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-06 00:00:00.000000000 Z
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/06 : **1.5.0**
173
+ 2014/03/07 : **1.5.1**
174
174
  * 追加機能もしくは仕様変更
175
- - 小説投稿サイト ハーメルン (http://syosetu.org/) に対応しました
176
- - 小説投稿サイト Arcadia (http://www.mai-net.net/) に対応しました
177
- + Arcadiaは `narou d "http://www.mai-net.net/bbs/sst/sst.php?~略~&n=0&count=1"` のように
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
- - `narou browser --vote` コマンドがなろうのレイアウト変更に対応していなかったので修正
184
- - 半角カナを全角カナに変換するように修正 #36
185
- - 小説のタイトルにはルビをふれないように修正 #37
179
+ - ルビ記号が入れ子になっている時に正常にルビ化できていなかった問題を修正
180
+ - NKFによって全角ダッシュ(u2015)が全角マイナス?(u2014)に変換されてしまう問題を修正
181
+ - サブタイトルにタブ文字が入っている場合にダウンロード中にエラーが出る問題を修正
182
+ - ノクターンノベルズ及びムーンライトノベルズを2個以上同時にダウンロードした場合に、
183
+ 2個目以降が正常にDL出来ない問題を修正
186
184
 
187
185
  *******************************************************************************
188
186
  rdoc_options: []