Skip to content

Instantly share code, notes, and snippets.

@wuputah
Created April 27, 2013 04:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wuputah/5471874 to your computer and use it in GitHub Desktop.
Save wuputah/5471874 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby
require 'rubygems'
['json', 'cloudapp_api'].each do |gem|
begin
require gem
rescue LoadError
puts "You need to install #{gem}: gem install #{gem}"
exit!(1)
end
end
config_file = "#{ENV['HOME']}/.cloudapp"
unless File.exist?(config_file)
puts "You need to type your email and password (one per line) into "+
"`~/.cloudapp`"
exit!(1)
end
email,password = File.read(config_file).split("\n")
if ARGV[0].nil?
puts "You need to specify a file to upload."
exit!(1)
end
urls = []
ARGV.each do |x|
CloudApp.authenticate(email,password)
puts "Attempting to upload #{x}"
url = CloudApp::Item.create(:upload, {:file => x}).url
# Say it for good measure.
puts "Uploaded #{x} to #{url}"
# Get the embed link.
url = "#{url}/#{ARGV[0].split('/').last}"
urls << url
end
# Copy it to your (linux) clipboard.
system %Q{echo '#{urls.join(',')}' | tr -d "\n" | xclip -i}
@msakrejda
Copy link

Changing the last line to this:

system %Q{echo '#{urls.join(',')}' | tr -d "\n" | ((which xclip >/dev/null && xclip -i) || (which xsel >/dev/null && xsel -b))}

Makes it work with either xclip or xsel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment