summaryrefslogtreecommitdiffstats
path: root/ompload/ompload
diff options
context:
space:
mode:
Diffstat (limited to 'ompload/ompload')
-rw-r--r--ompload/ompload151
1 files changed, 0 insertions, 151 deletions
diff --git a/ompload/ompload b/ompload/ompload
deleted file mode 100644
index d639f3c..0000000
--- a/ompload/ompload
+++ /dev/null
@@ -1,151 +0,0 @@
-#!/usr/bin/env ruby
-#
-# Copyright 2007-2009 David Shakaryan <omp@gentoo.org>
-# Copyright 2007-2009 Brenden Matthews <brenden@rty.ca>
-#
-# Distributed under the terms of the GNU General Public License v3
-#
-
-require 'tempfile'
-
-argv = Array.new
-
-quiet = false
-url_only = false
-help = false
-skip = false
-filename = 'pasta'
-
-$stdin.fcntl(4, File::NONBLOCK)
-stdin = $stdin.read if !$stdin.eof
-unless stdin.nil?
- argv << ''
-end
-
-ARGV.each_index do |i|
- if skip
- skip = false
- next
- end
- if ARGV[i] =~ /-q|--quiet/
- quiet = true
- elsif ARGV[i] =~ /-u|--url/
- url_only = true
- elsif ARGV[i] =~ /-h|--help/
- help = true
- elsif ARGV[i] =~ /-f|--filename/
- filename = ARGV[i + 1]
- skip = true
- else
- argv << ARGV[i]
- end
-end
-
-nocurl = false
-curl = %x{curl --version 2> /dev/null}
-if curl.empty?
- nocurl = true
- $stderr.puts 'Error: curl missing or not in path. Cannot continue.'
- $stderr.puts
-end
-
-if (ARGV.size < 1 and (stdin.nil? or stdin.empty?)) or help or nocurl
- $stderr.puts 'Usage: ompload [-h|--help] [options] [file(s)]'
- $stderr.puts ' -q, --quiet Only output errors and warnings'
- $stderr.puts ' -u, --url Only output URL when finished'
- $stderr.puts ' -f, --filename Filename to use when posting data'
- $stderr.puts ' from stdin'
- $stderr.puts
- $stderr.puts ' You can supply a list of files or data via stdin (or both)'
- $stderr.puts
- $stderr.puts ' This script requires a copy of cURL in the path.'
- Process.exit
-end
-
-errors = 0
-
-wait = 5
-
-Url = 'http://omploader.org/'
-Max_size = 2**30
-
-used_stdin = false
-first = true
-
-argv.each do |arg|
-
- if stdin.nil? and !used_stdin and !File.file?(arg)
- $stderr.puts "Invalid argument '#{arg}': file does not exist (or is not a regular file)."
- errors += 1
- next
- elsif File.size(arg) > Max_size
- $stderr.puts "Error omploading '#{arg}': file exceeds " + (Max_size).to_s + " bytes (size was " + File.size(arg).to_s + ")."
- errors += 1
- next
- end
-
- if !first
- # try not to hammer the server
- puts 'Sleeping for ' + wait.to_s + 's' if !quiet and !url_only
- sleep(wait)
- else
- first = false
- end
-
- tmp = Tempfile.new(filename)
- if !stdin.nil? and !used_stdin
- # upload from stdin
- puts "Progress for '#{arg}'" if !quiet and !url_only
- if quiet or url_only
- p = IO.popen("curl -s -F 'file1=@-;filename=\"#{filename}\"' #{Url}upload -o '#{tmp.path}'", "w+")
- else
- p = IO.popen("curl -# -F 'file1=@-;filename=\"#{filename}\"' #{Url}upload -o '#{tmp.path}'", "w+")
- end
- p.puts stdin
- p.close_write
- Process.wait
- used_stdin = true
- else
- # upload file
- puts "Progress for '#{arg}'" if !quiet and !url_only
- # escape quotes
- tmp_path = arg.gsub('"', '\"')
- if quiet or url_only
- %x{curl -s -F file1=@"#{tmp_path}" #{Url}upload -o '#{tmp.path}'}
- else
- %x{curl -# -F file1=@"#{tmp_path}" #{Url}upload -o '#{tmp.path}'}
- end
- end
- if !File.size?(tmp.path)
- $stderr.puts "Error omploading '#{arg}'"
- errors += 1
- next
- end
- output = IO.read(tmp.path)
-
- # parse for an ID
- if output =~ /View file: <a href="v([A-Za-z0-9+\/]+)">/
- id = $1
- puts "Omploaded '#{arg}' to #{Url}v#{id}" if !quiet
- wait = 5
- elsif output =~ /Slow down there, cowboy\./
- wait += 60
- argv << arg
- $stderr.puts "Got throttled when trying to ompload '#{arg}'"
- $stderr.puts "Increasing wait and attempting to continue..."
- errors += 1
- else
- $stderr.puts "Error omploading '#{arg}'"
- errors += 1
- end
-
-end
-
-if !quiet and !url_only
- if errors < 1
- puts "Success."
- else
- puts "Finished with #{errors} errors."
- end
-end
-