lib/command/send.rb in narou-3.2.5.1 vs lib/command/send.rb in narou-3.3.0
- old
+ new
@@ -1,6 +1,7 @@
-# -*- coding: utf-8 -*-
+# frozen_string_literal: true
+
#
# Copyright 2013 whiteleaf. All rights reserved.
#
require_relative "../narou"
@@ -63,21 +64,23 @@
def execute(argv)
super
device = get_device(argv)
unless device
- error "デバイス名が指定されていないか、間違っています。\n" +
- "narou setting device=デバイス名 で指定出来ます。\n" +
- "指定出来るデバイス名:" + Device::DEVICES.keys.join(", ")
+ stream_io.error <<~ERR
+ デバイス名が指定されていないか、間違っています。
+ narou setting device=デバイス名 で指定出来ます。
+ 指定出来るデバイス名:#{Device::DEVICES.keys.join(", ")}
+ ERR
exit Narou::EXIT_ERROR_CODE
end
unless device.physical_support?
- error "#{device.display_name} への直接送信は対応していません"
+ stream_io.error "#{device.display_name} への直接送信は対応していません"
exit Narou::EXIT_ERROR_CODE
end
unless device.connecting?
- error "#{device.display_name} が接続されていません"
+ stream_io.error "#{device.display_name} が接続されていません"
exit Narou::EXIT_ERROR_CODE
end
@options["hotentry"] = Inventory.load("local_setting")["hotentry"]
send_all = false
@@ -116,15 +119,15 @@
ebook_paths = [Update.get_newest_hotentry_file_path(device)]
else
ebook_paths = Narou.get_ebook_file_paths(target, device.ebook_file_ext)
end
unless ebook_paths[0]
- error "#{target} は存在しません"
+ stream_io.error "#{target} は存在しません"
next
end
unless File.exist?(ebook_paths[0])
- error "まだファイル(#{File.basename(ebook_paths[0])})が無いようです" unless send_all
+ stream_io.error "まだファイル(#{File.basename(ebook_paths[0])})が無いようです" unless send_all
next
end
# TODO: should check all items in ebook_paths
if !@options["force"] && !device.ebook_file_old?(ebook_paths[0])
@@ -134,62 +137,62 @@
if target == "hotentry"
target
else
"ID:#{target} #{TermColorLight.escape(titles[target])}"
end
- puts "<bold><green>#{display_target}</green></bold>".termcolor
+ stream_io.puts "<bold><green>#{display_target}</green></bold>".termcolor
- print "#{device.name}へ送信しています"
+ stream_io.print "#{device.name}へ送信しています"
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 "."
+ stream_io.print "."
sleep(0.5)
end
- puts
+ stream_io.puts
if copy_to_path
- puts copy_to_path + " へコピーしました"
+ stream_io.puts copy_to_path + " へコピーしました"
else
- error "#{device.name}が見つからなかったためコピー出来ませんでした"
+ stream_io.error "#{device.name}が見つからなかったためコピー出来ませんでした"
exit Narou::EXIT_ERROR_CODE # next しても次も失敗すると分かりきっているためここで終了する
end
end
end
if send_all && @options["backup-bookmark"]
process_backup_bookmark(device)
end
rescue Device::SendFailure, Interrupt
- puts "送信を中断しました"
+ stream_io.puts "送信を中断しました"
exit Narou::EXIT_INTERRUPT
end
def process_backup_bookmark(device)
device.extend(device.get_hook_module)
unless device.respond_to?(:backup_bookmark)
- error "ご利用の端末での栞データのバックアップは対応していません"
+ stream_io.error "ご利用の端末での栞データのバックアップは対応していません"
return
end
if device.backup_bookmark > 0
- puts "端末の栞データをバックアップしました"
+ stream_io.puts "端末の栞データをバックアップしました"
end
end
def process_restore_bookmark(device)
device.extend(device.get_hook_module)
unless device.respond_to?(:restore_bookmark)
- error "ご利用の端末での栞データのバックアップは対応していません"
+ stream_io.error "ご利用の端末での栞データのバックアップは対応していません"
return
end
if device.restore_bookmark > 0
- puts "栞データを端末にコピーしました"
+ stream_io.puts "栞データを端末にコピーしました"
else
- puts "栞データが無いようです"
+ stream_io.puts "栞データが無いようです"
end
end
end
end