narou 1.2.9.rc1 → 1.2.9
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 +5 -1
- data/README.md +9 -10
- data/lib/converterbase.rb +1 -1
- data/lib/downloader.rb +25 -3
- data/lib/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ec489e39fe857a2395ff758d5ff725843b9c374
|
4
|
+
data.tar.gz: 56eecbe6ddaf1667396f40ccd17246a804dcf37c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e84f361b0ce983364e2903deac8a58220bcd2ac5aab5c9c874a0bf96257cd741aff4f7199a2b090449da1323afa187c56cd1cf07707b566bc6366258f2e40cc
|
7
|
+
data.tar.gz: 5fbd3ea17453b566a3eaecd50b5f9f5abff7a545e4dc5175a0a4978a1a960d9959e1cf2ed412f12e454f4a5588550c14993c531acacc8e2b846fb8ba876771c6
|
data/ChangeLog.md
CHANGED
@@ -1,9 +1,13 @@
|
|
1
1
|
|
2
2
|
更新履歴 - ChangeLog
|
3
3
|
--------------------
|
4
|
-
2013/
|
4
|
+
2013/08/03 : **1.2.9**
|
5
5
|
* Bug Fix
|
6
6
|
- 小説のタイトルに < 及び > が含まれている場合にエラーになっていた問題を修正
|
7
|
+
- タイトルが二重に表示されてしまうバグがまだ発生したので修正
|
8
|
+
* 追加機能もしくは仕様変更
|
9
|
+
- raw フォルダにテキストデータをそのまま保存する機能を追加
|
10
|
+
- ライセンスを MIT に設定しました(過去のバージョンに遡って適用します)
|
7
11
|
|
8
12
|
2013/07/26 : **1.2.8**
|
9
13
|
* Bug Fix
|
data/README.md
CHANGED
@@ -20,6 +20,15 @@ Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンロ
|
|
20
20
|
|
21
21
|
更新履歴 - ChangeLog
|
22
22
|
--------------------
|
23
|
+
|
24
|
+
2013/08/03 : **1.2.9**
|
25
|
+
* Bug Fix
|
26
|
+
- 小説のタイトルに < 及び > が含まれている場合にエラーになっていた問題を修正
|
27
|
+
- タイトルが二重に表示されてしまうバグがまだ発生したので修正
|
28
|
+
* 追加機能もしくは仕様変更
|
29
|
+
- raw フォルダにテキストデータをそのまま保存する機能を追加
|
30
|
+
- ライセンスを MIT に設定しました(過去のバージョンに遡って適用します)
|
31
|
+
|
23
32
|
2013/07/26 : **1.2.8**
|
24
33
|
* Bug Fix
|
25
34
|
- なろうの仕様変更でタイトルがたまに二重に表示されてしまうバグ(?)に対処
|
@@ -38,16 +47,6 @@ Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンロ
|
|
38
47
|
- `list` コマンドでその日に更新された小説の日付に色をつけてわかりやすくした
|
39
48
|
- 電子書籍デバイスへの自動送信で Kindle Fire/HD に対応(動作未確認)
|
40
49
|
|
41
|
-
2013/05/08 : **1.2.5.1**
|
42
|
-
* fix: 新規DL時にエラーが出る可能性あったので修正
|
43
|
-
|
44
|
-
2013/05/07 : **1.2.5**
|
45
|
-
* Bug Fix
|
46
|
-
- 連続する文頭全角空白をすべてルビ対象外に
|
47
|
-
- Mac OS X での動作状況を改善
|
48
|
-
* 追加機能もしくは仕様変更
|
49
|
-
- 連続空行の改ページ化設定をデフォルトでオフに変更
|
50
|
-
|
51
50
|
----
|
52
51
|
|
53
52
|
「小説家になろう」は株式会社ヒナプロジェクトの登録商標です
|
data/lib/converterbase.rb
CHANGED
@@ -191,7 +191,7 @@ class ConverterBase
|
|
191
191
|
data.gsub!(/([A-Za-z])([#{KANJI_NUM}・]+)/) do # ver1・01 のようなパターンも許容する
|
192
192
|
$1 + $2.tr(KANJI_NUM, "0-9")
|
193
193
|
end
|
194
|
-
data.gsub!(/([#{KANJI_NUM}]+)([A-Za-z])/) do
|
194
|
+
data.gsub!(/([#{KANJI_NUM}・]+)([A-Za-z])/) do
|
195
195
|
$1.tr(KANJI_NUM, "0-9") + $2
|
196
196
|
end
|
197
197
|
end
|
data/lib/downloader.rb
CHANGED
@@ -17,8 +17,9 @@ require_relative "narou/api"
|
|
17
17
|
#
|
18
18
|
class Downloader
|
19
19
|
NOVEL_SITE_SETTING_DIR = "webnovel/"
|
20
|
-
SECTION_SAVE_DIR_NAME = "本文" #
|
21
|
-
CACHE_SAVE_DIR_NAME = "cache" #
|
20
|
+
SECTION_SAVE_DIR_NAME = "本文" # 本文を保存するディレクトリ名
|
21
|
+
CACHE_SAVE_DIR_NAME = "cache" # 差分用キャッシュ保存用ディレクトリ名
|
22
|
+
RAW_DATA_DIR_NAME = "raw" # 本文の生データを保存するディレクトリ名
|
22
23
|
TOC_FILE_NAME = "toc.yaml"
|
23
24
|
WAITING_TIME_FOR_503 = 20 # 503 のときに待機する秒数
|
24
25
|
RETRY_MAX_FOR_503 = 5 # 503 のときに何回再試行するか
|
@@ -325,6 +326,7 @@ class Downloader
|
|
325
326
|
init_novel_dir
|
326
327
|
old_toc = {}
|
327
328
|
end
|
329
|
+
init_raw_dir
|
328
330
|
if @force
|
329
331
|
update_subtitles = latest_toc["subtitles"]
|
330
332
|
else
|
@@ -574,6 +576,7 @@ class Downloader
|
|
574
576
|
begin
|
575
577
|
open(subtitle_url) do |fp|
|
576
578
|
section = pretreatment_source(fp.read)
|
579
|
+
save_raw_data(section, subtitle_info)
|
577
580
|
end
|
578
581
|
rescue OpenURI::HTTPError => e
|
579
582
|
if e.message =~ /^503/
|
@@ -594,6 +597,25 @@ class Downloader
|
|
594
597
|
element
|
595
598
|
end
|
596
599
|
|
600
|
+
def get_raw_dir
|
601
|
+
File.join(get_novel_data_dir, RAW_DATA_DIR_NAME)
|
602
|
+
end
|
603
|
+
|
604
|
+
def init_raw_dir
|
605
|
+
path = get_raw_dir
|
606
|
+
FileUtils.mkdir_p(path) unless File.exists?(path)
|
607
|
+
end
|
608
|
+
|
609
|
+
#
|
610
|
+
# テキストデータの生データを保存
|
611
|
+
#
|
612
|
+
def save_raw_data(raw_data, subtitle_info)
|
613
|
+
index = subtitle_info["index"]
|
614
|
+
file_subtitle = subtitle_info["file_subtitle"]
|
615
|
+
path = File.join(get_raw_dir, "#{index} #{file_subtitle}.txt")
|
616
|
+
File.write(path, raw_data)
|
617
|
+
end
|
618
|
+
|
597
619
|
#
|
598
620
|
# 本文を解析して前書き・本文・後書きの要素に分解する
|
599
621
|
#
|
@@ -603,7 +625,7 @@ class Downloader
|
|
603
625
|
lines = section.lstrip.lines.map(&:rstrip)
|
604
626
|
introduction = slice_introduction(lines)
|
605
627
|
postscript = slice_postscript(lines)
|
606
|
-
if lines[0] == subtitle
|
628
|
+
if lines[0] == subtitle.strip
|
607
629
|
if lines[1] == ""
|
608
630
|
lines.slice!(0, 2)
|
609
631
|
else
|
data/lib/version.rb
CHANGED
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.2.9
|
4
|
+
version: 1.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- whiteleaf7
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-08-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: termcolor
|
@@ -139,9 +139,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
139
139
|
version: 1.9.3
|
140
140
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
141
141
|
requirements:
|
142
|
-
- - '
|
142
|
+
- - '>='
|
143
143
|
- !ruby/object:Gem::Version
|
144
|
-
version:
|
144
|
+
version: '0'
|
145
145
|
requirements: []
|
146
146
|
rubyforge_project:
|
147
147
|
rubygems_version: 2.0.0
|