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.

Files changed (62) hide show
  1. data/ChangeLog.md +17 -1
  2. data/README.md +18 -12
  3. data/bin/narou +1 -1
  4. data/lib/color.rb +89 -0
  5. data/lib/command.rb +1 -1
  6. data/lib/command/alias.rb +5 -5
  7. data/lib/command/browser.rb +4 -2
  8. data/lib/command/convert.rb +14 -12
  9. data/lib/command/diff.rb +8 -8
  10. data/lib/command/download.rb +1 -1
  11. data/lib/command/folder.rb +2 -2
  12. data/lib/command/freeze.rb +1 -1
  13. data/lib/command/help.rb +8 -6
  14. data/lib/command/init.rb +8 -8
  15. data/lib/command/inspect.rb +2 -2
  16. data/lib/command/interactive.rb +1 -1
  17. data/lib/command/list.rb +5 -2
  18. data/lib/command/new.rb +1 -1
  19. data/lib/command/remove.rb +2 -2
  20. data/lib/command/send.rb +7 -7
  21. data/lib/command/setting.rb +8 -8
  22. data/lib/command/update.rb +2 -2
  23. data/lib/command/version.rb +1 -1
  24. data/lib/commandbase.rb +6 -4
  25. data/lib/commandline.rb +2 -2
  26. data/lib/converterbase.rb +81 -44
  27. data/lib/database.rb +1 -1
  28. data/lib/device.rb +3 -3
  29. data/lib/device/kindle.rb +1 -1
  30. data/lib/device/kobo.rb +1 -1
  31. data/lib/device/library/windows.rb +2 -14
  32. data/lib/downloader.rb +41 -14
  33. data/lib/extensions/windows.rb +58 -0
  34. data/lib/globalsetting.rb +1 -1
  35. data/lib/helper.rb +1 -1
  36. data/lib/illustration.rb +1 -1
  37. data/lib/ini.rb +1 -1
  38. data/lib/inspector.rb +2 -2
  39. data/lib/kindlestrip.rb +1 -1
  40. data/lib/loadconverter.rb +2 -2
  41. data/lib/localsetting.rb +1 -1
  42. data/lib/logger.rb +26 -9
  43. data/lib/narou.rb +1 -1
  44. data/lib/narou/api.rb +41 -0
  45. data/lib/novelconverter.rb +14 -14
  46. data/lib/novelsetting.rb +7 -2
  47. data/lib/progressbar.rb +1 -1
  48. data/lib/ruby.rb +1 -1
  49. data/lib/sitesetting.rb +1 -1
  50. data/lib/template.rb +3 -3
  51. data/lib/version.rb +2 -2
  52. data/narou.gemspec +3 -2
  53. data/narou.rb +5 -3
  54. data/template/converter.rb.erb +1 -1
  55. data/template/diff.txt.erb +1 -1
  56. data/template/novel.txt.erb +2 -1
  57. data/template/replace.txt.erb +2 -2
  58. data/template/setting.ini.erb +1 -1
  59. data/webnovel/ncode.syosetu.com.yaml +2 -1
  60. data/webnovel/novel18.syosetu.com.yaml +2 -1
  61. metadata +48 -19
  62. checksums.yaml +0 -7
@@ -1,4 +1,4 @@
1
- # -*- coding: UTF-8 -*-
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
- warn "AozoraEpub3が見つからなかったので、EPUBが出力出来ませんでした"
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
- warn "AozoraEpub3実行中にエラーが発生したため、EPUBが出力出来ませんでした"
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
- warn "kindlegenが見つかりませんでした。AozoraEpub3と同じディレクトリにインストールして下さい"
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
- warn "kindlegen実行中にエラーが発生したため、MOBIが出力出来ませんでした"
196
+ error "kindlegen実行中にエラーが発生したため、MOBIが出力出来ませんでした"
197
197
  if stdout_capture.scan(/(エラー\(.+?\):\w+?:.+)$/)
198
- warn $1
198
+ error $1
199
199
  end
200
200
  return :error
201
201
  end
202
202
  else
203
203
  puts ""
204
- warn "kindlegenが中断させられたぽいのでMOBIは出力出来ませんでした"
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 "#{File.basename(save_path)} を出力しました"
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
- warn "―――― 小説にエラーもしくは警告が存在します ――――"
344
- warn ""
343
+ puts "<yellow>―――― 小説にエラーもしくは警告が存在します ――――</yellow>".termcolor
344
+ puts ""
345
345
  @inspector.display(Inspector::ERROR | Inspector::WARNING)
346
- warn ""
346
+ puts ""
347
347
  end
348
348
  if @inspector.info?
349
- warn "―――― 小説の検査状況を表示します ――――"
350
- warn ""
349
+ puts "<yellow>―――― 小説の検査状況を表示します ――――</yellow>".termcolor
350
+ puts ""
351
351
  @inspector.display(Inspector::INFO)
352
- warn ""
352
+ puts ""
353
353
  end
354
354
  end
355
355
 
data/lib/novelsetting.rb CHANGED
@@ -1,4 +1,4 @@
1
- # -*- coding: UTF-8 -*-
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
@@ -1,4 +1,4 @@
1
- # -*- coding: UTF-8 -*-
1
+ # -*- coding: utf-8 -*-
2
2
  #
3
3
  # Copyright 2013 whiteleaf. All rights reserved.
4
4
  #
data/lib/ruby.rb CHANGED
@@ -1,4 +1,4 @@
1
- # -*- coding: UTF-8 -*-
1
+ # -*- coding: utf-8 -*-
2
2
  #
3
3
  # Copyright 2012 whiteleaf. All rights reserved.
4
4
  #
data/lib/sitesetting.rb CHANGED
@@ -1,4 +1,4 @@
1
- # -*- coding: UTF-8 -*-
1
+ # -*- coding: utf-8 -*-
2
2
  #
3
3
  # Copyright 2013 whiteleaf. All rights reserved.
4
4
  #
data/lib/template.rb CHANGED
@@ -1,4 +1,4 @@
1
- # -*- coding: UTF-8 -*-
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
- warn "テンプレートのバージョンが古いので意図しない動作をする可能性があります\n" +
62
- "(#{@@src_filename}.erb ver #{version.to_f} < #{@@binary_version.to_f})"
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: UTF-8 -*-
1
+ # -*- coding: utf-8 -*-
2
2
  #
3
3
  # Copyright 2013 whiteleaf. All rights reserved.
4
4
  #
5
5
 
6
- Version = "1.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
- #gem.add_dependency ""
58
- end
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: UTF-8 -*-
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
- puts " エラーが発生したため終了しました。"
30
- puts " 詳細なエラーは --backtrace オプションを付けて再度実行して下さい。"
31
+ warn " エラーが発生したため終了しました。"
32
+ warn " 詳細なエラーは --backtrace オプションを付けて再度実行して下さい。"
31
33
  end
32
34
  exit 1
33
35
  end
@@ -1,5 +1,5 @@
1
1
  <% Template.target_binary_version(1.0) -%>
2
- # -*- coding: UTF-8 -*-
2
+ # -*- coding: utf-8 -*-
3
3
 
4
4
  #
5
5
  # 対象小説情報
@@ -1,4 +1,4 @@
1
- <%# -*- coding: UTF-8 -*- -%>
1
+ <%# -*- coding: utf-8 -*- -%>
2
2
  <% Template.target_binary_version(1.0) -%>
3
3
  <%= novel_info["title"] %>
4
4
 
@@ -1,4 +1,4 @@
1
- <%# -*- coding: UTF-8 -*- -%>
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
  [#ここから前書き]
@@ -1,4 +1,4 @@
1
- <%# -*- coding: UTF-8 -*- -%>
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
 
@@ -1,4 +1,4 @@
1
- <%# -*- coding: UTF-8 -*- -%>
1
+ <%# -*- coding: utf-8 -*- -%>
2
2
  <% Template.target_binary_version(1.0) -%>
3
3
  <% default_settings.each do |element| -%>
4
4
  <% element[:help].split("\n").each do |help_line| -%>
@@ -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.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-09 00:00:00.000000000 Z
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
- metadata: {}
95
- post_install_message: |
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: 2.0.0
150
+ rubygems_version: 1.8.24
122
151
  signing_key:
123
- specification_version: 4
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