lib/command/send.rb in narou-2.5.2 vs lib/command/send.rb in narou-2.6.0
- old
+ new
@@ -20,10 +20,11 @@
・<target>で指定した小説の電子書籍データを<device>で指定した端末に送信します
・<device>には現在 #{Device::DEVICES.keys.join(", ")} が指定出来ます
・narou setting device=<device>としておけば、<device>の入力を省略できます
また、convertコマンドで変換時に(端末がPCに接続されていれば)自動でデータを送信するようになります
・<target>を省略した場合、管理している小説全てのファイルのタイムスタンプを端末のものと比べて新しければ送信します
+ ・<target>にhotentryを指定した場合、最新のhotnetryを送信します
Examples:
narou send kindle 6
narou send kobo 6
@@ -71,19 +72,25 @@
end
unless device.connecting?
error "#{device.display_name} が接続されていません"
exit Narou::EXIT_ERROR_CODE
end
+
+ @options["hotentry"] = Inventory.load("local_setting", :local)["hotentry"]
send_all = false
titles = {}
if argv.empty?
send_all = true
Database.instance.each do |id, data|
next if @options["without-freeze"] && Narou.novel_frozen?(id)
argv << id
titles[id] = data["title"]
end
+ if @options["hotentry"]
+ argv << "hotentry"
+ titles["hotentry"] = "hotentry"
+ end
end
case
when @options["command-backup-bookmark"]
process_backup_bookmark(device)
@@ -93,21 +100,30 @@
exit
end
tagname_to_ids(argv)
argv.each do |target|
- ebook_path = Narou.get_ebook_file_path(target, device.ebook_file_ext)
+ if target == "hotentry"
+ ebook_path = Update.get_newest_hotentry_file_path(device)
+ else
+ ebook_path = Narou.get_ebook_file_path(target, device.ebook_file_ext)
+ end
unless ebook_path
error "#{target} は存在しません"
next
end
unless File.exist?(ebook_path)
error "まだファイル(#{File.basename(ebook_path)})が無いようです" unless send_all
next
end
if send_all
if device.ebook_file_old?(ebook_path)
- puts "<bold><green>ID:#{target} #{TermColorLight.escape(titles[target])}</green></bold>".termcolor
+ if target == "hotentry"
+ display_target = target
+ else
+ display_target = "ID:#{target} #{TermColorLight.escape(titles[target])}"
+ end
+ puts "<bold><green>#{display_target}</green></bold>".termcolor
else
next
end
end
print "#{device.name}へ送信しています"