narou 1.7.2 → 2.0.0
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 +5 -13
- data/.gitignore +1 -0
- data/ChangeLog.md +35 -0
- data/Gemfile +3 -0
- data/LICENSE.txt +100 -0
- data/README.md +28 -39
- data/lib/color.rb +0 -2
- data/lib/command.rb +1 -0
- data/lib/command/convert.rb +33 -4
- data/lib/command/diff.rb +5 -4
- data/lib/command/download.rb +9 -1
- data/lib/command/flag.rb +2 -2
- data/lib/command/list.rb +1 -1
- data/lib/command/mail.rb +3 -3
- data/lib/command/remove.rb +2 -1
- data/lib/command/send.rb +7 -6
- data/lib/command/setting.rb +39 -95
- data/lib/command/tag.rb +25 -13
- data/lib/command/update.rb +6 -1
- data/lib/command/version.rb +5 -1
- data/lib/command/web.rb +111 -0
- data/lib/commandbase.rb +5 -2
- data/lib/commandline.rb +16 -0
- data/lib/converterbase.rb +20 -14
- data/lib/device.rb +5 -4
- data/lib/downloader.rb +68 -39
- data/lib/eventable.rb +72 -0
- data/lib/helper.rb +105 -37
- data/lib/ini.rb +2 -1
- data/lib/input.rb +68 -0
- data/lib/inventory.rb +4 -0
- data/lib/kindlestrip.rb +2 -2
- data/lib/logger.rb +41 -19
- data/lib/narou.rb +10 -0
- data/lib/narou/api.rb +1 -1
- data/lib/novelconverter.rb +8 -21
- data/lib/novelsetting.rb +79 -4
- data/lib/version.rb +1 -1
- data/lib/web/all.rb +12 -0
- data/lib/web/appserver.rb +612 -0
- data/lib/web/helper4web.rb +15 -0
- data/lib/web/progressbar4web.rb +32 -0
- data/lib/web/public/favicon.ico +0 -0
- data/lib/web/public/resources/bootbox.min.js +6 -0
- data/lib/web/public/resources/common.ui.js +143 -0
- data/lib/web/public/resources/dataTables.colVis.js +1113 -0
- data/lib/web/public/resources/help/rect_select.png +0 -0
- data/lib/web/public/resources/help/ssmain.png +0 -0
- data/lib/web/public/resources/help/tag.png +0 -0
- data/lib/web/public/resources/jquery.moveto.js +44 -0
- data/lib/web/public/resources/jquery.outerclick.js +60 -0
- data/lib/web/public/resources/jquery.slidenavbar.js +89 -0
- data/lib/web/public/resources/narou.library.js +815 -0
- data/lib/web/public/resources/narou.ui.js +993 -0
- data/lib/web/public/resources/perfect-scrollbar.min.css +5 -0
- data/lib/web/public/resources/perfect-scrollbar.min.js +4 -0
- data/lib/web/public/resources/shortcut.js +223 -0
- data/lib/web/public/resources/sort_asc.png +0 -0
- data/lib/web/public/resources/sort_desc.png +0 -0
- data/lib/web/public/resources/toggle-switch.css +322 -0
- data/lib/web/public/robots.txt +3 -0
- data/lib/web/public/test/jquery.outerclick.html +72 -0
- data/lib/web/pushserver.rb +110 -0
- data/lib/web/settingmessages.rb +14 -0
- data/lib/web/streaminginput.rb +103 -0
- data/lib/web/streaminglogger.rb +52 -0
- data/lib/web/views/about.haml +11 -0
- data/lib/web/views/help.haml +105 -0
- data/lib/web/views/index.haml +245 -0
- data/lib/web/views/js/widget.erb +74 -0
- data/lib/web/views/layout.haml +49 -0
- data/lib/web/views/novels/setting.haml +177 -0
- data/lib/web/views/settings.haml +115 -0
- data/lib/web/views/style.scss +737 -0
- data/lib/web/views/widget.haml +39 -0
- data/lib/web/web-socket-ruby/.gitignore +1 -0
- data/lib/web/web-socket-ruby/README.txt +75 -0
- data/lib/web/web-socket-ruby/lib/web_socket.rb +601 -0
- data/lib/web/web-socket-ruby/samples/chat_server.rb +58 -0
- data/lib/web/web-socket-ruby/samples/echo_server.rb +33 -0
- data/lib/web/web-socket-ruby/samples/stdio_client.rb +25 -0
- data/lib/web/worker.rb +87 -0
- data/narou.gemspec +36 -3
- data/narou.rb +8 -6
- data/preset/ncode.syosetu.com/n8725k/converter.rb +2 -1
- data/spec/data/convert_test/replace/correct_test_replace.txt +1 -1
- data/spec/data/convert_test/replace/test_replace.txt +1 -1
- data/spec/data/convert_test/ruby/correct_test_ruby.txt +18 -1
- data/spec/data/convert_test/ruby/test_ruby.txt +18 -0
- data/spec/downloader_spec.rb +37 -0
- data/spec/eventable_spec.rb +172 -0
- data/spec/exit_code_spec.rb +67 -0
- data/spec/helper_spec.rb +72 -0
- data/spec/input_spec.rb +76 -0
- data/spec/logger_spec.rb +53 -0
- data/spec/novelsetting_spec.rb +35 -0
- data/spec/worker_spec.rb +56 -0
- data/template/ibunko_novel.txt.erb +2 -2
- data/template/novel.txt.erb +2 -2
- metadata +213 -29
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
OTVhNTc0MzIxYWU4MGE5OGQ0YTBlZDgyMWZmYjNmMzI4Mzk0MjFmOQ==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: cf008af8f0265c697917e1b0318d796382b7fe99
|
4
|
+
data.tar.gz: 7187f31cc59d0394b01a09e8b8fef8d8afe37ae4
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
NzI2OTk4MjY5NThmMDBjZjM4ZjBkNDVhNzMwNThhOTg0YTE2MmQ5OWYyYjc5
|
11
|
-
MjRiZWEyNjQwNTJhMGZkZjVhNDA4NTE2OGI4OTRmMGUyMDA4NGI=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
MzQ5ZDNhNzA3ZDc2ZTg5NzMwZTJlOTI5Yjk2MjUwZTFkNGMxNjRlODdmZTBk
|
14
|
-
MGZkMzhmYmY0YmEwYmIwNjNjNWEyYWI5MGMyNjk3NGIxMTZjOGYwZTJmNzg2
|
15
|
-
M2RmZTIxNzljN2UzZTFlMjk0MTcxMjUwMmQyZWZiNzMzYmUzMTc=
|
6
|
+
metadata.gz: 26864b5f132357030a6b9c0f116223601753d9b2c3e8a400fab45b4f2af7f86e875196e5972d6227bfe64f0a78a5c4531e92bdd8bf37e17c85557d8037e3d6c1
|
7
|
+
data.tar.gz: 27922bd101c849461b4627d8a6735852badbbbd20a6f88ad5511ded7b17bea32d56d3ac4fd5ffe2a86b9611c7eeadb0070a7f90c9d1a5397450f367e21d1d9e3
|
data/.gitignore
CHANGED
data/ChangeLog.md
CHANGED
@@ -2,6 +2,40 @@
|
|
2
2
|
更新履歴 - ChangeLog
|
3
3
|
====================
|
4
4
|
|
5
|
+
2.0.0 : 2014/12/26
|
6
|
+
------------------
|
7
|
+
#### 追加機能
|
8
|
+
- `web` コマンドを実装しました。ブラウザベースによるWEB UIを使うことが出来ます
|
9
|
+
+ `narou web` でWEBサーバを起動し、自動的にブラウザが開きます
|
10
|
+
+ ブラウザは可能な限り最新を推奨。IEは9以下は動きません
|
11
|
+
- `download.use-subdirectory` オプションが追加されました。小説IDの先頭数文字で
|
12
|
+
サブフォルダを作成しグループ分けすることで、大量の小説を管理する場合のパフォ
|
13
|
+
ーマンス劣化に対応します
|
14
|
+
+ `narou s download.use-subdirectory=true` として設定出来ます
|
15
|
+
+ すでに管理済みの小説の保存フォルダは変更されません
|
16
|
+
- ダウンロード時やアップデート時の最後に、容量不足等で書籍データを送信出来なか
|
17
|
+
ったファイル一覧を表示するようにしました
|
18
|
+
|
19
|
+
#### 仕様変更
|
20
|
+
- 終了コードを整理しました
|
21
|
+
+ 正常終了時:0
|
22
|
+
+ 異常終了時:127
|
23
|
+
+ updateコマンド及びdownloadコマンドで失敗した場合:失敗した小説の数
|
24
|
+
+ settingコマンド:設定でエラーになった数
|
25
|
+
- 見出しリスト.txt を保存しなくなりました
|
26
|
+
|
27
|
+
#### Bug Fix
|
28
|
+
- 新規ダウンロードする際にエラーになる場合があったのを修正 #53
|
29
|
+
- 小説家になろうのルビ仕様に準拠していない書式があったのを修正
|
30
|
+
|
31
|
+
|が存在していなく、かつ《 》内に自動ルビ化対象文字以外がある場合に
|
32
|
+
ルビ化はされない
|
33
|
+
|
34
|
+
- 上記修正に伴い、ログ・ホライズン(n8725k)の converter.rb を差し替えました
|
35
|
+
- Java がインストールされていない場合でも EPUB ファイルの作成が成功したと表示
|
36
|
+
されてしまうのを修正 #55
|
37
|
+
|
38
|
+
|
5
39
|
1.7.2 : 2014/11/26
|
6
40
|
------------------
|
7
41
|
#### Bug Fix
|
@@ -12,6 +46,7 @@
|
|
12
46
|
------------------
|
13
47
|
#### Bug Fix
|
14
48
|
- 暁の18禁小説がダウンロードできなかったのを修正
|
49
|
+
>>>>>>> 1.8
|
15
50
|
|
16
51
|
|
17
52
|
1.7.0 : 2014/09/27
|
data/Gemfile
CHANGED
data/LICENSE.txt
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
Narou.rb
|
2
|
+
|
1
3
|
(The MIT License)
|
2
4
|
|
3
5
|
Copyright (c) 2013 whiteleaf.
|
@@ -20,3 +22,101 @@ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
20
22
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
21
23
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
22
24
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
25
|
+
|
26
|
+
----------------------------------------------------------------------
|
27
|
+
|
28
|
+
/**
|
29
|
+
* bootbox.js v4.3.0
|
30
|
+
*
|
31
|
+
* The MIT License
|
32
|
+
*
|
33
|
+
* Copyright (C) 2011-2014 by Nick Payne <nick@kurai.co.uk>
|
34
|
+
*
|
35
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
36
|
+
* of this software and associated documentation files (the "Software"), to deal
|
37
|
+
* in the Software without restriction, including without limitation the rights
|
38
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
39
|
+
* copies of the Software, and to permit persons to whom the Software is
|
40
|
+
* furnished to do so, subject to the following conditions:
|
41
|
+
*
|
42
|
+
* The above copyright notice and this permission notice shall be included in
|
43
|
+
* all copies or substantial portions of the Software.
|
44
|
+
*
|
45
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
46
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
47
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
48
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
49
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
50
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
51
|
+
* THE SOFTWARE
|
52
|
+
*/
|
53
|
+
|
54
|
+
----------------------------------------------------------------------
|
55
|
+
|
56
|
+
dataTables.colVis.js
|
57
|
+
|
58
|
+
MIT license
|
59
|
+
Copyright (C) 2008-2014, SpryMedia Ltd.
|
60
|
+
|
61
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
62
|
+
|
63
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
64
|
+
|
65
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
66
|
+
|
67
|
+
----------------------------------------------------------------------
|
68
|
+
|
69
|
+
perfect-scrollbar
|
70
|
+
|
71
|
+
The MIT License (MIT)
|
72
|
+
Copyright (c) 2012, 2014 Hyunje Alex Jun and other contributors.
|
73
|
+
|
74
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
75
|
+
|
76
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
77
|
+
|
78
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
79
|
+
|
80
|
+
----------------------------------------------------------------------
|
81
|
+
|
82
|
+
CSS Toggle Switch
|
83
|
+
|
84
|
+
This is free and unencumbered software released into the public domain.
|
85
|
+
|
86
|
+
Anyone is free to copy, modify, publish, use, compile, sell, or
|
87
|
+
distribute this software, either in source code form or as a compiled
|
88
|
+
binary, for any purpose, commercial or non-commercial, and by any
|
89
|
+
means.
|
90
|
+
|
91
|
+
In jurisdictions that recognize copyright laws, the author or authors
|
92
|
+
of this software dedicate any and all copyright interest in the
|
93
|
+
software to the public domain. We make this dedication for the benefit
|
94
|
+
of the public at large and to the detriment of our heirs and
|
95
|
+
successors. We intend this dedication to be an overt act of
|
96
|
+
relinquishment in perpetuity of all present and future rights to this
|
97
|
+
software under copyright law.
|
98
|
+
|
99
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
100
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
101
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
102
|
+
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
103
|
+
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
104
|
+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
105
|
+
OTHER DEALINGS IN THE SOFTWARE.
|
106
|
+
|
107
|
+
For more information, please refer to <http://unlicense.org/>
|
108
|
+
|
109
|
+
----------------------------------------------------------------------
|
110
|
+
|
111
|
+
shortcut.js
|
112
|
+
|
113
|
+
By Binny V A
|
114
|
+
License : BSD
|
115
|
+
|
116
|
+
----------------------------------------------------------------------
|
117
|
+
|
118
|
+
web_socket.rb
|
119
|
+
|
120
|
+
Copyright: Hiroshi Ichikawa <http://gimite.net/en/>
|
121
|
+
Lincense: New BSD Lincense
|
122
|
+
|
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンローダ&縦書用整形スクリプト
|
2
2
|
============================================================
|
3
3
|
|
4
|
+
[![Gem Version](https://badge.fury.io/rb/narou.svg)](http://badge.fury.io/rb/narou)
|
5
|
+
|
4
6
|
概要 - Summary
|
5
7
|
--------------
|
6
8
|
このアプリは[小説家になろう](http://syosetu.com/)、[小説を読もう!](http://yomou.syosetu.com/)で公開されている小説の管理、
|
@@ -24,58 +26,45 @@ Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンロ
|
|
24
26
|
更新履歴 - ChangeLog
|
25
27
|
--------------------
|
26
28
|
|
27
|
-
###
|
28
|
-
|
29
|
-
#### Bug Fix
|
30
|
-
- デバイスの容量不足で送信に失敗した小説が、再度送信されない問題を修正
|
31
|
-
|
32
|
-
----
|
33
|
-
|
34
|
-
### 1.7.1 : 2014/10/16
|
35
|
-
|
36
|
-
#### Bug Fix
|
37
|
-
- 暁の18禁小説がダウンロードできなかったのを修正
|
38
|
-
|
39
|
-
----
|
40
|
-
|
41
|
-
### 1.7.0 : 2014/09/27
|
29
|
+
### 2.0.0 : 2014/12/26
|
42
30
|
|
43
31
|
#### 追加機能
|
44
|
-
- `
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
32
|
+
- `web` コマンドを実装しました。ブラウザベースによるWEB UIを使うことが出来ます
|
33
|
+
+ `narou web` でWEBサーバを起動し、自動的にブラウザが開きます
|
34
|
+
+ ブラウザは可能な限り最新を推奨。IEは9以下は動きません
|
35
|
+
- `download.use-subdirectory` オプションが追加されました。小説IDの先頭数文字で
|
36
|
+
サブフォルダを作成しグループ分けすることで、大量の小説を管理する場合のパフォ
|
37
|
+
ーマンス劣化に対応します
|
38
|
+
+ `narou s download.use-subdirectory=true` として設定出来ます
|
39
|
+
+ すでに管理済みの小説の保存フォルダは変更されません
|
40
|
+
- ダウンロード時やアップデート時の最後に、容量不足等で書籍データを送信出来なか
|
41
|
+
ったファイル一覧を表示するようにしました
|
51
42
|
|
52
43
|
#### 仕様変更
|
53
|
-
-
|
54
|
-
+
|
55
|
-
|
44
|
+
- 終了コードを整理しました
|
45
|
+
+ 正常終了時:0
|
46
|
+
+ 異常終了時:127
|
47
|
+
+ updateコマンド及びdownloadコマンドで失敗した場合:失敗した小説の数
|
48
|
+
+ settingコマンド:設定でエラーになった数
|
49
|
+
- 見出しリスト.txt を保存しなくなりました
|
56
50
|
|
57
51
|
#### Bug Fix
|
58
|
-
-
|
59
|
-
|
60
|
-
#### その他
|
61
|
-
- 起動にかかる時間及び表示処理速度を向上させました(起動時間がv1.6に比べて約50%短縮)
|
52
|
+
- 新規ダウンロードする際にエラーになる場合があったのを修正 #53
|
53
|
+
- 小説家になろうのルビ仕様に準拠していない書式があったのを修正
|
62
54
|
|
63
|
-
|
64
|
-
|
65
|
-
### 1.6.4 : 2014/09/17
|
55
|
+
|が存在していなく、かつ《 》内に自動ルビ化対象文字以外がある場合に
|
56
|
+
ルビ化はされない
|
66
57
|
|
67
|
-
|
68
|
-
-
|
69
|
-
|
70
|
-
も同時に行うので、--no-color オプションは必要ありません
|
58
|
+
- 上記修正に伴い、ログ・ホライズン(n8725k)の converter.rb を差し替えました
|
59
|
+
- Java がインストールされていない場合でも EPUB ファイルの作成が成功したと表示
|
60
|
+
されてしまうのを修正 #55
|
71
61
|
|
72
62
|
----
|
73
63
|
|
74
|
-
### 1.
|
64
|
+
### 1.7.2 : 2014/11/26
|
75
65
|
|
76
66
|
#### Bug Fix
|
77
|
-
-
|
78
|
-
- 1話も投稿されていない小説でエラーが出ていたのを修正
|
67
|
+
- デバイスの容量不足で送信に失敗した小説が、再度送信されない問題を修正
|
79
68
|
|
80
69
|
----
|
81
70
|
|
data/lib/color.rb
CHANGED
@@ -30,8 +30,6 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
30
30
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
31
31
|
=end
|
32
32
|
|
33
|
-
require "termcolorlight"
|
34
|
-
|
35
33
|
if RbConfig::CONFIG["host_os"] =~ /mswin(?!ce)|mingw|bccwin/i
|
36
34
|
require_relative "extensions/windows"
|
37
35
|
|
data/lib/command.rb
CHANGED
data/lib/command/convert.rb
CHANGED
@@ -15,6 +15,28 @@ module Command
|
|
15
15
|
"小説を変換します。管理小説以外にテキストファイルも変換可能"
|
16
16
|
end
|
17
17
|
|
18
|
+
@@sending_error_list = []
|
19
|
+
|
20
|
+
def self.display_sending_error_list
|
21
|
+
puts
|
22
|
+
puts "-" * 79
|
23
|
+
puts "・送信失敗リスト"
|
24
|
+
puts @@sending_error_list
|
25
|
+
puts
|
26
|
+
puts "<red><bold>上記のファイルの送信に失敗しました。</bold></red>".termcolor
|
27
|
+
puts "送信出来なかった原因を解消し、send コマンドを実行して下さい。"
|
28
|
+
@@sending_error_list.clear
|
29
|
+
if $stdin.tty?
|
30
|
+
puts
|
31
|
+
puts "(何かキーを押して下さい)"
|
32
|
+
$stdin.getch
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.exists_sending_error_list?
|
37
|
+
@@sending_error_list.empty?.!
|
38
|
+
end
|
39
|
+
|
18
40
|
def initialize
|
19
41
|
super("<target> [<target2> ...] [options]")
|
20
42
|
@opt.separator <<-EOS
|
@@ -146,27 +168,34 @@ module Command
|
|
146
168
|
if @device && @device.physical_support? &&
|
147
169
|
@device.connecting? && File.extname(ebook_file) == @device.ebook_file_ext
|
148
170
|
if @argument_target_type == :novel
|
149
|
-
Send.execute!([@device.name, target])
|
171
|
+
if Send.execute!([@device.name, target]) > 0
|
172
|
+
@@sending_error_list << ebook_file
|
173
|
+
end
|
150
174
|
else
|
151
175
|
puts @device.name + "へ送信しています"
|
152
|
-
copy_to_path =
|
176
|
+
copy_to_path = nil
|
177
|
+
begin
|
178
|
+
copy_to_path = @device.copy_to_documents(ebook_file)
|
179
|
+
rescue Device::SendFailure
|
180
|
+
end
|
153
181
|
if copy_to_path
|
154
182
|
puts copy_to_path.encode(Encoding::UTF_8) + " へコピーしました"
|
155
183
|
else
|
156
184
|
error "送信に失敗しました"
|
185
|
+
@@sending_error_list << ebook_file
|
157
186
|
end
|
158
187
|
end
|
159
188
|
end
|
160
189
|
end
|
161
190
|
|
162
|
-
|
191
|
+
if @options["no-open"].! && Narou.web?.!
|
163
192
|
Helper.open_directory(File.dirname(@converted_txt_path), "小説の保存フォルダを開きますか")
|
164
193
|
end
|
165
194
|
end
|
166
195
|
rescue Interrupt
|
167
196
|
puts
|
168
197
|
puts "変換を中断しました"
|
169
|
-
exit
|
198
|
+
exit Narou::EXIT_ERROR_CODE
|
170
199
|
end
|
171
200
|
|
172
201
|
#
|
data/lib/command/diff.rb
CHANGED
@@ -61,6 +61,9 @@ module Command
|
|
61
61
|
@opt.on("--all-clean", "凍結済を除く全小説の差分データを削除する") {
|
62
62
|
@options["all-clean"] = true
|
63
63
|
}
|
64
|
+
@opt.on("--no-tool", "外部差分ツールを使用しない") {
|
65
|
+
@options["no-tool"] = true
|
66
|
+
}
|
64
67
|
end
|
65
68
|
|
66
69
|
# 引数の中の -数字 オプション(-n 数字の省略形)を -n 数字 に変換する
|
@@ -111,11 +114,9 @@ module Command
|
|
111
114
|
return
|
112
115
|
end
|
113
116
|
@difftool = Inventory.load("global_setting", :global)["difftool"]
|
114
|
-
|
117
|
+
if @difftool.! || @options["no-tool"]
|
115
118
|
display_diff_on_oneself(id)
|
116
119
|
return
|
117
|
-
#error "difftool が設定されていません。narou setting で difftool を設定して下さい"
|
118
|
-
#return
|
119
120
|
end
|
120
121
|
exec_difftool(id)
|
121
122
|
end
|
@@ -148,7 +149,7 @@ module Command
|
|
148
149
|
res = Helper::AsyncCommand.exec(diff_cmd)
|
149
150
|
rescue Errno::ENOENT => e
|
150
151
|
error e.message
|
151
|
-
exit
|
152
|
+
exit Narou::EXIT_ERROR_CODE
|
152
153
|
ensure
|
153
154
|
temp_paths.map(&:delete)
|
154
155
|
end
|
data/lib/command/download.rb
CHANGED
@@ -5,6 +5,7 @@
|
|
5
5
|
|
6
6
|
require_relative "../narou"
|
7
7
|
require_relative "../downloader"
|
8
|
+
require_relative "../input"
|
8
9
|
|
9
10
|
module Command
|
10
11
|
class Download < CommandBase
|
@@ -90,6 +91,7 @@ module Command
|
|
90
91
|
|
91
92
|
def execute(argv)
|
92
93
|
super
|
94
|
+
mistook_count = 0
|
93
95
|
if argv.empty?
|
94
96
|
targets = interactive_mode
|
95
97
|
return if targets.size == 0
|
@@ -102,6 +104,7 @@ module Command
|
|
102
104
|
data = Downloader.get_data_by_target(download_target)
|
103
105
|
if Narou.novel_frozen?(download_target)
|
104
106
|
puts "#{data["title"]} は凍結中です\nダウンロードを中止しました"
|
107
|
+
mistook_count += 1
|
105
108
|
next
|
106
109
|
end
|
107
110
|
if !@options["force"] && data
|
@@ -109,15 +112,19 @@ module Command
|
|
109
112
|
puts "#{download_target} はダウンロード済みです。"
|
110
113
|
puts "ID: #{data["id"]}"
|
111
114
|
puts "title: #{data["title"]}"
|
115
|
+
mistook_count += 1
|
112
116
|
else
|
113
|
-
if
|
117
|
+
if Narou::Input.confirm("再ダウンロードしますか")
|
114
118
|
download_target = data["toc_url"]
|
115
119
|
redo
|
120
|
+
else
|
121
|
+
mistook_count += 1
|
116
122
|
end
|
117
123
|
end
|
118
124
|
next
|
119
125
|
end
|
120
126
|
if Downloader.start(download_target, @options["force"], true).status != :ok
|
127
|
+
mistook_count += 1
|
121
128
|
next
|
122
129
|
end
|
123
130
|
unless @options["no-convert"]
|
@@ -130,6 +137,7 @@ module Command
|
|
130
137
|
Remove.execute!([download_target, "-y"])
|
131
138
|
end
|
132
139
|
end
|
140
|
+
exit mistook_count if mistook_count > 0
|
133
141
|
end
|
134
142
|
|
135
143
|
def self.oneline_help
|