|
@@ -0,0 +1,60 @@
|
|
|
|
+#!/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'
|
|
|
|
+begin
|
|
|
|
+ require 'cloudapp_api'
|
|
|
|
+rescue LoadError
|
|
|
|
+ puts "You need to install cloudapp_api: gem install cloudapp_api"
|
|
|
|
+ exit!(1)
|
|
|
|
+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")
|
|
|
|
+
|
|
|
|
+class HTTParty::Response
|
|
|
|
+ # Apparently HTTPOK.ok? IS NOT OKAY WTFFFFFFFFFFUUUUUUUUUUUUUU
|
|
|
|
+ # LETS MONKEY PATCH IT I FEEL OKAY ABOUT IT
|
|
|
|
+ def ok? ; true end
|
|
|
|
+end
|
|
|
|
+
|
|
|
|
+if ARGV[0].nil?
|
|
|
|
+ puts "You need to specify a file to upload."
|
|
|
|
+ exit!(1)
|
|
|
|
+end
|
|
|
|
+
|
|
|
|
+CloudApp.authenticate(email,password)
|
|
|
|
+url = CloudApp::Item.create(:upload, {:file => ARGV[0]}).url
|
|
|
|
+
|
|
|
|
+# Say it for good measure.
|
|
|
|
+puts "Uploaded to #{url}."
|
|
|
|
+
|
|
|
|
+# Get the embed link.
|
|
|
|
+url = "#{url}/#{ARGV[0].split('/').last}"
|
|
|
|
+
|
|
|
|
+# Copy it to your (Mac's) clipboard.
|
|
|
|
+`echo '#{url}' | tr -d "\n" | pbcopy`
|