narou 1.1.1 → 1.1.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.
- data/ChangeLog.md +17 -1
- data/README.md +18 -12
- data/bin/narou +1 -1
- data/lib/color.rb +89 -0
- data/lib/command.rb +1 -1
- data/lib/command/alias.rb +5 -5
- data/lib/command/browser.rb +4 -2
- data/lib/command/convert.rb +14 -12
- data/lib/command/diff.rb +8 -8
- data/lib/command/download.rb +1 -1
- data/lib/command/folder.rb +2 -2
- data/lib/command/freeze.rb +1 -1
- data/lib/command/help.rb +8 -6
- data/lib/command/init.rb +8 -8
- data/lib/command/inspect.rb +2 -2
- data/lib/command/interactive.rb +1 -1
- data/lib/command/list.rb +5 -2
- data/lib/command/new.rb +1 -1
- data/lib/command/remove.rb +2 -2
- data/lib/command/send.rb +7 -7
- data/lib/command/setting.rb +8 -8
- data/lib/command/update.rb +2 -2
- data/lib/command/version.rb +1 -1
- data/lib/commandbase.rb +6 -4
- data/lib/commandline.rb +2 -2
- data/lib/converterbase.rb +81 -44
- data/lib/database.rb +1 -1
- data/lib/device.rb +3 -3
- data/lib/device/kindle.rb +1 -1
- data/lib/device/kobo.rb +1 -1
- data/lib/device/library/windows.rb +2 -14
- data/lib/downloader.rb +41 -14
- data/lib/extensions/windows.rb +58 -0
- data/lib/globalsetting.rb +1 -1
- data/lib/helper.rb +1 -1
- data/lib/illustration.rb +1 -1
- data/lib/ini.rb +1 -1
- data/lib/inspector.rb +2 -2
- data/lib/kindlestrip.rb +1 -1
- data/lib/loadconverter.rb +2 -2
- data/lib/localsetting.rb +1 -1
- data/lib/logger.rb +26 -9
- data/lib/narou.rb +1 -1
- data/lib/narou/api.rb +41 -0
- data/lib/novelconverter.rb +14 -14
- data/lib/novelsetting.rb +7 -2
- data/lib/progressbar.rb +1 -1
- data/lib/ruby.rb +1 -1
- data/lib/sitesetting.rb +1 -1
- data/lib/template.rb +3 -3
- data/lib/version.rb +2 -2
- data/narou.gemspec +3 -2
- data/narou.rb +5 -3
- data/template/converter.rb.erb +1 -1
- data/template/diff.txt.erb +1 -1
- data/template/novel.txt.erb +2 -1
- data/template/replace.txt.erb +2 -2
- data/template/setting.ini.erb +1 -1
- data/webnovel/ncode.syosetu.com.yaml +2 -1
- data/webnovel/novel18.syosetu.com.yaml +2 -1
- metadata +48 -19
- checksums.yaml +0 -7
data/lib/novelconverter.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# -*- coding:
|
1
|
+
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
3
|
# Copyright 2013 whiteleaf. All rights reserved.
|
4
4
|
#
|
@@ -110,7 +110,7 @@ class NovelConverter
|
|
110
110
|
|
111
111
|
aozoraepub3_path = Narou.get_aozoraepub3_path
|
112
112
|
unless aozoraepub3_path
|
113
|
-
|
113
|
+
error "AozoraEpub3が見つからなかったので、EPUBが出力出来ませんでした"
|
114
114
|
return nil
|
115
115
|
end
|
116
116
|
aozoraepub3_basename = File.basename(aozoraepub3_path)
|
@@ -150,7 +150,7 @@ class NovelConverter
|
|
150
150
|
# AozoraEpub3 のエラーにはEPUBが出力されないエラーとEPUBが出力されるエラーの2種類ある。
|
151
151
|
# EPUBが出力される場合は「変換完了」という文字があるのでそれを検出する
|
152
152
|
if stdout_capture !~ /^変換完了/
|
153
|
-
|
153
|
+
error "AozoraEpub3実行中にエラーが発生したため、EPUBが出力出来ませんでした"
|
154
154
|
return :error
|
155
155
|
end
|
156
156
|
end
|
@@ -168,7 +168,7 @@ class NovelConverter
|
|
168
168
|
def self.epub_to_mobi(epub_path, verbose = false)
|
169
169
|
kindlegen_path = File.join(File.dirname(Narou.get_aozoraepub3_path), "kindlegen")
|
170
170
|
if Dir.glob(kindlegen_path + "*").empty?
|
171
|
-
|
171
|
+
error "kindlegenが見つかりませんでした。AozoraEpub3と同じディレクトリにインストールして下さい"
|
172
172
|
return :error
|
173
173
|
end
|
174
174
|
|
@@ -193,15 +193,15 @@ class NovelConverter
|
|
193
193
|
if proccess_status.exited?
|
194
194
|
if proccess_status.exitstatus == 2
|
195
195
|
puts ""
|
196
|
-
|
196
|
+
error "kindlegen実行中にエラーが発生したため、MOBIが出力出来ませんでした"
|
197
197
|
if stdout_capture.scan(/(エラー\(.+?\):\w+?:.+)$/)
|
198
|
-
|
198
|
+
error $1
|
199
199
|
end
|
200
200
|
return :error
|
201
201
|
end
|
202
202
|
else
|
203
203
|
puts ""
|
204
|
-
|
204
|
+
error "kindlegenが中断させられたぽいのでMOBIは出力出来ませんでした"
|
205
205
|
return :abort
|
206
206
|
end
|
207
207
|
puts "変換しました"
|
@@ -307,7 +307,7 @@ class NovelConverter
|
|
307
307
|
end
|
308
308
|
end
|
309
309
|
File.write(save_path, result)
|
310
|
-
puts "
|
310
|
+
puts "縦書用の変換が終了しました"
|
311
311
|
|
312
312
|
update_latest_convert_novel
|
313
313
|
|
@@ -340,16 +340,16 @@ class NovelConverter
|
|
340
340
|
else
|
341
341
|
# 小説の監視・検査状況を表示する
|
342
342
|
if @inspector.error? || @inspector.warning?
|
343
|
-
|
344
|
-
|
343
|
+
puts "<yellow>―――― 小説にエラーもしくは警告が存在します ――――</yellow>".termcolor
|
344
|
+
puts ""
|
345
345
|
@inspector.display(Inspector::ERROR | Inspector::WARNING)
|
346
|
-
|
346
|
+
puts ""
|
347
347
|
end
|
348
348
|
if @inspector.info?
|
349
|
-
|
350
|
-
|
349
|
+
puts "<yellow>―――― 小説の検査状況を表示します ――――</yellow>".termcolor
|
350
|
+
puts ""
|
351
351
|
@inspector.display(Inspector::INFO)
|
352
|
-
|
352
|
+
puts ""
|
353
353
|
end
|
354
354
|
end
|
355
355
|
|
data/lib/novelsetting.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# -*- coding:
|
1
|
+
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
3
|
# Copyright 2013 whiteleaf. All rights reserved.
|
4
4
|
#
|
@@ -200,6 +200,11 @@ class NovelSetting
|
|
200
200
|
name: "date_format",
|
201
201
|
value: "%Y年%m月%d日",
|
202
202
|
help: "書式は http://goo.gl/gvJ5u を参考"
|
203
|
-
}
|
203
|
+
},
|
204
|
+
{
|
205
|
+
name: "enable_convert_horizontal_ellipsis",
|
206
|
+
value: true,
|
207
|
+
help: "中黒(・)を並べて三点リーダーもどきにしているのを三点リーダーに変換する"
|
208
|
+
},
|
204
209
|
]
|
205
210
|
end
|
data/lib/progressbar.rb
CHANGED
data/lib/ruby.rb
CHANGED
data/lib/sitesetting.rb
CHANGED
data/lib/template.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# -*- coding:
|
1
|
+
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
3
|
# Copyright 2013 whiteleaf. All rights reserved.
|
4
4
|
#
|
@@ -58,8 +58,8 @@ class Template
|
|
58
58
|
def self.target_binary_version(version)
|
59
59
|
@@src_version = version
|
60
60
|
if invalid_templace_version?
|
61
|
-
|
62
|
-
|
61
|
+
error "テンプレートのバージョンが古いので意図しない動作をする可能性があります\n" +
|
62
|
+
"(#{@@src_filename}.erb ver #{version.to_f} < #{@@binary_version.to_f})"
|
63
63
|
end
|
64
64
|
end
|
65
65
|
end
|
data/lib/version.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
# -*- coding:
|
1
|
+
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
3
|
# Copyright 2013 whiteleaf. All rights reserved.
|
4
4
|
#
|
5
5
|
|
6
|
-
Version = "1.1.
|
6
|
+
Version = "1.1.2"
|
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
@@ -54,5 +54,6 @@ narou コマンドのインストール or アップデートが完了しまし
|
|
54
54
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
55
55
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
56
56
|
#gem.require_paths = ["lib"]
|
57
|
-
|
58
|
-
|
57
|
+
gem.add_dependency "termcolor", ">=1.2.2"
|
58
|
+
gem.add_development_dependency "rspec"
|
59
|
+
end
|
data/narou.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#! ruby
|
2
|
-
# -*- coding:
|
2
|
+
# -*- coding: utf-8 -*-
|
3
3
|
#
|
4
4
|
# Narou.rb ― 小説家になろうダウンロード&整形スクリプト
|
5
5
|
#
|
@@ -18,6 +18,8 @@ rescue_level = $debug ? Exception : StandardError
|
|
18
18
|
begin
|
19
19
|
display_backtrace = ARGV.delete("--backtrace")
|
20
20
|
display_backtrace ||= $debug
|
21
|
+
$disable_color = ARGV.delete("--no-color")
|
22
|
+
$disable_color ||= GlobalSetting.get["global_setting"]["no-color"]
|
21
23
|
CommandLine.run(ARGV)
|
22
24
|
rescue rescue_level => e
|
23
25
|
warn $@.shift + ": #{e.message} (#{e.class})"
|
@@ -26,8 +28,8 @@ rescue rescue_level => e
|
|
26
28
|
warn " from #{b}"
|
27
29
|
end
|
28
30
|
else
|
29
|
-
|
30
|
-
|
31
|
+
warn " エラーが発生したため終了しました。"
|
32
|
+
warn " 詳細なエラーは --backtrace オプションを付けて再度実行して下さい。"
|
31
33
|
end
|
32
34
|
exit 1
|
33
35
|
end
|
data/template/converter.rb.erb
CHANGED
data/template/diff.txt.erb
CHANGED
data/template/novel.txt.erb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
<%# -*- coding:
|
1
|
+
<%# -*- coding: utf-8 -*- -%>
|
2
2
|
<% Template.target_binary_version(1.0) -%>
|
3
3
|
<%= toc["title"] %>
|
4
4
|
<%= toc["author"] %>
|
@@ -17,6 +17,7 @@
|
|
17
17
|
[#ここから大見出し] <%= section["chapter"] %>[#ここで大見出し終わり]
|
18
18
|
[#改ページ]
|
19
19
|
<% end -%>
|
20
|
+
|
20
21
|
[#3字下げ][#ここから中見出し]<%= section["subtitle"].rstrip %>[#ここで中見出し終わり]
|
21
22
|
<% if section["element"]["introduction"] != "" -%>
|
22
23
|
[#ここから前書き]
|
data/template/replace.txt.erb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
<%# -*- coding:
|
1
|
+
<%# -*- coding: utf-8 -*- -%>
|
2
2
|
<% Template.target_binary_version(1.0) -%>
|
3
3
|
; 単純置換用ファイル
|
4
4
|
;
|
@@ -11,8 +11,8 @@
|
|
11
11
|
; 置換対象<tab>置換文字
|
12
12
|
;
|
13
13
|
; サンプル
|
14
|
-
; ・・・ ……
|
15
14
|
; 一〇歳 十歳
|
15
|
+
; 第一章 [#ゴシック体]第一章[#ゴシック体終わり]
|
16
16
|
;
|
17
17
|
; 正規表現での置換などは converter.rb で対応して下さい
|
18
18
|
|
data/template/setting.ini.erb
CHANGED
@@ -30,4 +30,5 @@ tcode: <li><a href="\\k<domain>/txtdownload/top/ncode/(?<tcode>\d+?)/" onclick
|
|
30
30
|
txtdownload_url: \\k<domain>/txtdownload/dlstart/ncode/\\k<tcode>/?no=\\k<index>
|
31
31
|
|
32
32
|
# ------------------------------------------------------------
|
33
|
-
#
|
33
|
+
# 特殊な設定
|
34
|
+
narou_api_url: http://api.syosetu.com/novelapi/api/
|
@@ -30,4 +30,5 @@ tcode: <li><a href="\\k<domain>/txtdownload/top/ncode/(?<tcode>\d+?)/" onclick
|
|
30
30
|
txtdownload_url: \\k<domain>/txtdownload/dlstart/ncode/\\k<tcode>/?no=\\k<index>
|
31
31
|
|
32
32
|
# ------------------------------------------------------------
|
33
|
-
#
|
33
|
+
# 特殊な設定
|
34
|
+
narou_api_url: http://api.syosetu.com/novel18api/api/
|
metadata
CHANGED
@@ -1,15 +1,48 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: narou
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- whiteleaf7
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-03-
|
12
|
-
dependencies:
|
12
|
+
date: 2013-03-16 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: termcolor
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 1.2.2
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.2.2
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rspec
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
13
46
|
description: 小説家になろうで公開されている小説の管理、及び電子書籍データへの変換を支援します。縦書用に特化されており、横書き用に特化されたWEB小説を違和感なく縦書で読むことが出来るようになります。
|
14
47
|
email:
|
15
48
|
- 2nd.leaf@gmail.com
|
@@ -25,6 +58,7 @@ files:
|
|
25
58
|
- README.md
|
26
59
|
- Rakefile
|
27
60
|
- bin/narou
|
61
|
+
- lib/color.rb
|
28
62
|
- lib/command.rb
|
29
63
|
- lib/command/alias.rb
|
30
64
|
- lib/command/browser.rb
|
@@ -53,6 +87,7 @@ files:
|
|
53
87
|
- lib/device/kobo.rb
|
54
88
|
- lib/device/library/windows.rb
|
55
89
|
- lib/downloader.rb
|
90
|
+
- lib/extensions/windows.rb
|
56
91
|
- lib/globalsetting.rb
|
57
92
|
- lib/helper.rb
|
58
93
|
- lib/illustration.rb
|
@@ -63,6 +98,7 @@ files:
|
|
63
98
|
- lib/localsetting.rb
|
64
99
|
- lib/logger.rb
|
65
100
|
- lib/narou.rb
|
101
|
+
- lib/narou/api.rb
|
66
102
|
- lib/novelconverter.rb
|
67
103
|
- lib/novelsetting.rb
|
68
104
|
- lib/progressbar.rb
|
@@ -91,36 +127,29 @@ files:
|
|
91
127
|
- commitversion
|
92
128
|
homepage: http://whiteleaf.hatenablog.com/
|
93
129
|
licenses: []
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
narou コマンドのインストール or アップデートが完了しました。
|
99
|
-
詳しい説明は `narou help' コマンドをご覧下さい。
|
100
|
-
|
101
|
-
NOTICE
|
102
|
-
初めてこのアプリケーションを使う場合、小説管理用のフォルダを初期化する必要があります。
|
103
|
-
任意のフォルダで `narou init' を実行して下さい。
|
104
|
-
|
105
|
-
*******************************************************************************
|
130
|
+
post_install_message: ! "*******************************************************************************\n\nnarou
|
131
|
+
コマンドのインストール or アップデートが完了しました。\n詳しい説明は `narou help' コマンドをご覧下さい。\n\n NOTICE\n 初めてこのアプリケーションを使う場合、小説管理用のフォルダを初期化する必要があります。\n
|
132
|
+
\ 任意のフォルダで `narou init' を実行して下さい。\n\n*******************************************************************************\n"
|
106
133
|
rdoc_options: []
|
107
134
|
require_paths:
|
108
135
|
- lib
|
109
136
|
required_ruby_version: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
110
138
|
requirements:
|
111
|
-
- - '>='
|
139
|
+
- - ! '>='
|
112
140
|
- !ruby/object:Gem::Version
|
113
141
|
version: 1.9.3
|
114
142
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
|
+
none: false
|
115
144
|
requirements:
|
116
|
-
- - '>='
|
145
|
+
- - ! '>='
|
117
146
|
- !ruby/object:Gem::Version
|
118
147
|
version: '0'
|
119
148
|
requirements: []
|
120
149
|
rubyforge_project:
|
121
|
-
rubygems_version:
|
150
|
+
rubygems_version: 1.8.24
|
122
151
|
signing_key:
|
123
|
-
specification_version:
|
152
|
+
specification_version: 3
|
124
153
|
summary: Narou.rb ― 小説家になろうダウンローダ&縦書用整形スクリプト
|
125
154
|
test_files:
|
126
155
|
- test/data/test.ini
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: b54f1f325a37e804bd41d1c2caf14c1452815123
|
4
|
-
data.tar.gz: 2c908cb24b1b32550797e190ca87c0e9ea5da01e
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 592d4ebec37de343df423ce68eb51810dffb298cfac27f9f8c54df9c6ea4dfe108f422fe1d57d558b10ddb9fe3e81e7ad3e629b4cfa89aef375aaed95073a58c
|
7
|
-
data.tar.gz: 21ac976f4c1911e6b03eb7633feaba336e0b94de52368c986f23e49c1879d34f3dc9caa5514c183c1afabc0f3e2dc7b80bef9b93dfcb01c5b560f031a5486f36
|