lib/downloader.rb in narou-1.5.0.2 vs lib/downloader.rb in narou-1.5.1
- old
+ new
@@ -62,11 +62,10 @@
return false
end
end
downloader = Downloader.new(setting, force, from_download)
result = downloader.start_download
- setting.clear
result
end
#
# 小説サイト設定を取得する
@@ -200,11 +199,11 @@
def self.remove_novel(target, with_file = false)
target = Narou.alias_to_id(target)
data = get_data_by_target(target) or return nil
data_dir = get_novel_data_dir_by_target(target)
if with_file
- FileUtils.remove_entry_secure(data_dir)
+ FileUtils.remove_entry_secure(data_dir, true)
puts "#{data_dir} を完全に削除しました"
else
# TOCは消しておかないと再DL時に古いデータがあると誤認する
File.delete(File.join(data_dir, TOC_FILE_NAME))
end
@@ -352,10 +351,12 @@
save_novel_data(TOC_FILE_NAME, latest_toc)
return :ok
else
return :none
end
+ ensure
+ @setting.clear
end
#
# ダイジェスト化に関する処理
#
@@ -499,11 +500,11 @@
open(toc_url) do |toc_fp|
if toc_fp.base_uri.to_s != toc_url
# リダイレクトされた場合。
# ノクターン・ムーンライトのNコードを ncode.syosetu.com に渡すと、novel18.syosetu.com に飛ばされる
# 目次の定義が微妙に ncode.syosetu.com と違うので、設定を取得し直す
- @setting.clear
+ @setting.clear # 今まで使っていたのは一旦クリア
@setting = Downloader.get_sitesetting_by_target(toc_fp.base_uri.to_s)
toc_url = @setting["toc_url"]
end
toc_source = Helper.pretreatment_source(toc_fp.read, @setting["encoding"])
end
@@ -590,9 +591,10 @@
toc_post = toc_source.dup
loop do
match_data = @setting.multi_match(toc_post, "subtitles")
break unless match_data
toc_post = match_data.post_match
+ @setting["subtitle"] = @setting["subtitle"].gsub("\t", "")
subtitles << {
"index" => @setting["index"],
"href" => @setting["href"],
"chapter" => @setting["chapter"],
"subtitle" => @setting["subtitle"],