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}へ送信しています"