lib/command/send.rb in narou-3.1.11 vs lib/command/send.rb in narou-3.2.0
- old
+ new
@@ -111,24 +111,25 @@
if @options["without-freeze"] && Narou.novel_frozen?(target) &&
(!Narou.web? || (Narou.web? && send_all))
next
end
if target == "hotentry"
- ebook_path = Update.get_newest_hotentry_file_path(device)
+ ebook_paths = [Update.get_newest_hotentry_file_path(device)]
else
- ebook_path = Narou.get_ebook_file_path(target, device.ebook_file_ext)
+ ebook_paths = Narou.get_ebook_file_paths(target, device.ebook_file_ext)
end
- unless ebook_path
+ unless ebook_paths[0]
error "#{target} は存在しません"
next
end
- unless File.exist?(ebook_path)
- error "まだファイル(#{File.basename(ebook_path)})が無いようです" unless send_all
+ unless File.exist?(ebook_paths[0])
+ error "まだファイル(#{File.basename(ebook_paths[0])})が無いようです" unless send_all
next
end
- if !@options["force"] && !device.ebook_file_old?(ebook_path)
+ # TODO: should check all items in ebook_paths
+ if !@options["force"] && !device.ebook_file_old?(ebook_paths[0])
next
end
display_target =
if target == "hotentry"
target
@@ -136,26 +137,28 @@
"ID:#{target} #{TermColorLight.escape(titles[target])}"
end
puts "<bold><green>#{display_target}</green></bold>".termcolor
print "#{device.name}へ送信しています"
- exit_copy = false
- copy_to_path = nil
- Thread.abort_on_exception = true
- Thread.new do
- copy_to_path = device.copy_to_documents(ebook_path)
- exit_copy = true
- end
- until exit_copy
- print "."
- sleep(0.5)
- end
- puts
- if copy_to_path
- puts copy_to_path + " へコピーしました"
- else
- error "#{device.name}が見つからなかったためコピー出来ませんでした"
- exit Narou::EXIT_ERROR_CODE # next しても次も失敗すると分かりきっているためここで終了する
+ ebook_paths.each do |ebook_path|
+ exit_copy = false
+ copy_to_path = nil
+ Thread.abort_on_exception = true
+ Thread.new do
+ copy_to_path = device.copy_to_documents(ebook_path)
+ exit_copy = true
+ end
+ until exit_copy
+ print "."
+ sleep(0.5)
+ end
+ puts
+ if copy_to_path
+ puts copy_to_path + " へコピーしました"
+ else
+ error "#{device.name}が見つからなかったためコピー出来ませんでした"
+ exit Narou::EXIT_ERROR_CODE # next しても次も失敗すると分かりきっているためここで終了する
+ end
end
end
if send_all && @options["backup-bookmark"]
process_backup_bookmark(device)
end