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"],