63 lines
1.3 KiB
Plaintext
63 lines
1.3 KiB
Plaintext
|
#!/usr/bin/env ruby
|
||
|
#
|
||
|
# cloudapp
|
||
|
# Zach Holman / @holman
|
||
|
#
|
||
|
# Uploads a file from the command line to CloudApp, drops it into your
|
||
|
# clipboard (on a Mac, at least).
|
||
|
#
|
||
|
# Example:
|
||
|
#
|
||
|
# cloudapp drunk-blake.png
|
||
|
#
|
||
|
# This requires Aaron Russell's cloudapp_api gem:
|
||
|
#
|
||
|
# gem install cloudapp_api
|
||
|
#
|
||
|
# Requires you set your CloudApp credentials in ~/.cloudapp as a simple file of:
|
||
|
#
|
||
|
# email
|
||
|
# password
|
||
|
|
||
|
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 (Mac's) clipboard.
|
||
|
`echo '#{urls.join(',')}' | tr -d "\n" | pbcopy`
|