ruby Macのクリップボードを监视して,设定されたファイル拡张子をwgetで実行フォルダにダウンロード。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby Macのクリップボードを监视して,设定されたファイル拡张子をwgetで実行フォルダにダウンロード。相关的知识,希望对你有一定的参考价值。

require 'pp'
require 'clipboard'

module Downloader
  @@target_file_exts = [:jpg, :png, :gif, :bmp, :doc, :pdf]
  @@cache = []

  def clipboard_text
    #%x(pbpaste).scrub
    Clipboard.paste.scrub
  end
  def download
    clipboard_text = clipboard_text()
    return if cached? clipboard_text
    return unless download? clipboard_text
    puts "URL: #{clipboard_text}"
    puts '----'
    begin
      spawn("wget #{clipboard_text}", STDERR => STDOUT)
    rescue Erno::ENOENT => e
      puts "failed download."
      puts "Error: #{e.message}"
    end
    cache clipboard_text
    clipboard_text
  end
  def target_file_exts ar=nil
    if ar.is_a? Array then
      unless ar.nil? then
        @@target_file_exts = ar.map(&:to_sym)
      end
    end
    @@target_file_exts
  end
  def download? str
    ext = file_ext str
    return false if str.nil?
    target_file_exts.find_index(ext.to_sym) ? true : false
  end
  def file_ext str
    str.split('.').last.to_s[0..-1]
  end
  def cache str=nil
    return @@cache if str.nil?
    @@cache << str
    @@cache.uniq!
  end
  def cached? url
    @@cache.find_index(url) ? true : false
  end
end

class ClipboardWatch
  include Downloader
end

c = ClipboardWatch.new
c.target_file_exts ARGV if ARGV.size > 0
print "target file extensions: "
pp c.target_file_exts
loop do
  c.download
  sleep 2
end

以上是关于ruby Macのクリップボードを监视して,设定されたファイル拡张子をwgetで実行フォルダにダウンロード。的主要内容,如果未能解决你的问题,请参考以下文章

markdown エミュレータや実​​机にクリップボードの内容を転送する

python BoostNoteフォルダに画像を送ってクリップボードにパスを入れる

markdown 重なった要素をクリックしたときに両方の要素のクリックイベントが発火してしまう

javascript 一覧画面でセルのクリックで编集モードに

csharp アニメーションクリップを少しリカバリーする编辑スクリプト

ruby 広告クリックテストコード