lib/command/send.rb in narou-1.7.2 vs lib/command/send.rb in narou-2.0.0

- old
+ new

@@ -55,19 +55,19 @@ device = get_device(argv) unless device error "デバイス名が指定されていないか、間違っています。\n" + "narou setting device=デバイス名 で指定出来ます。\n" + "指定出来るデバイス名:" + Device::DEVICES.keys.join(", ") - exit 1 + exit Narou::EXIT_ERROR_CODE end unless device.physical_support? error "#{device.display_name} への直接送信は対応していません" - exit 1 + exit Narou::EXIT_ERROR_CODE end unless device.connecting? error "#{device.display_name} が接続されていません" - exit 1 + exit Narou::EXIT_ERROR_CODE end send_all = false titles = {} if argv.empty? send_all = true @@ -96,10 +96,11 @@ end end 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 @@ -109,14 +110,14 @@ puts if copy_to_path puts copy_to_path + " へコピーしました" else error "#{device.name}が見つからなかったためコピー出来ませんでした" - exit 1 # next しても次も失敗すると分かりきっているためここで終了する + exit Narou::EXIT_ERROR_CODE # next しても次も失敗すると分かりきっているためここで終了する end end - rescue Interrupt + rescue Device::SendFailure, Interrupt puts "送信を中断しました" - exit 1 + exit Narou::EXIT_ERROR_CODE end end end