Create a proper executable for qwandry, qw
This commit is contained in:
parent
0306e71f47
commit
e5b64406ce
52
bin/qw
52
bin/qw
|
@ -0,0 +1,52 @@
|
|||
#!/usr/bin/env ruby
|
||||
# Add qwandry's library to the load path
|
||||
$: << File.dirname(__FILE__) + '/../lib'
|
||||
# Require it
|
||||
require "qwandry"
|
||||
|
||||
@qwandry = Qwandry::Launcher.new
|
||||
load('~/.qwandry/repositories.rb') if File.exists?('~/.qwandry/repositories.rb')
|
||||
|
||||
opts = OptionParser.new do |opts|
|
||||
opts.banner = "Usage: qwandry [options] name [version]"
|
||||
opts.separator ""
|
||||
|
||||
opts.separator "Known Repositories: #{@qwandry.repositories.keys.join(", ")}"
|
||||
opts.on("-e", "--editor EDITOR", "Use EDITOR to open the package") do |editor|
|
||||
@qwandry.editor = editor
|
||||
end
|
||||
|
||||
opts.on_tail("-h", "--help", "Show this message") do
|
||||
puts opts
|
||||
exit
|
||||
end
|
||||
end
|
||||
|
||||
opts.parse! ARGV
|
||||
|
||||
if ARGV.length != 1
|
||||
puts opts
|
||||
exit(1)
|
||||
end
|
||||
|
||||
name = ARGV.pop
|
||||
packages = @qwandry.find(name)
|
||||
|
||||
package = nil
|
||||
case packages.length
|
||||
when 0
|
||||
puts "No packages matched '#{name}'"
|
||||
exit 404 # Package not found -- hehe, super lame.
|
||||
when 1
|
||||
package = packages.first
|
||||
else
|
||||
packages.each_with_index do |package, index|
|
||||
puts "%3d. %s" % [index+1, package.name]
|
||||
end
|
||||
|
||||
print ">> "
|
||||
index = gets.to_i-1
|
||||
package = packages[index]
|
||||
end
|
||||
|
||||
@qwandry.launch(package) if package
|
|
@ -19,52 +19,3 @@ module Qwandry
|
|||
autoload :FlatRepository, "qwandry/flat_repository"
|
||||
autoload :Package, "qwandry/package"
|
||||
end
|
||||
|
||||
if __FILE__ == $0
|
||||
@qwandry = Qwandry::Launcher.new
|
||||
load('~/.qwandry/repositories.rb') if File.exists?('~/.qwandry/repositories.rb')
|
||||
|
||||
opts = OptionParser.new do |opts|
|
||||
opts.banner = "Usage: qwandry [options] name [version]"
|
||||
opts.separator ""
|
||||
|
||||
opts.separator "Known Repositories: #{@qwandry.repositories.keys.join(", ")}"
|
||||
opts.on("-e", "--editor EDITOR", "Use EDITOR to open the package") do |editor|
|
||||
@qwandry.editor = editor
|
||||
end
|
||||
|
||||
opts.on_tail("-h", "--help", "Show this message") do
|
||||
puts opts
|
||||
exit
|
||||
end
|
||||
end
|
||||
|
||||
opts.parse! ARGV
|
||||
|
||||
if ARGV.length != 1
|
||||
puts opts
|
||||
exit(1)
|
||||
end
|
||||
|
||||
name = ARGV.pop
|
||||
packages = @qwandry.find(name)
|
||||
|
||||
package = nil
|
||||
case packages.length
|
||||
when 0
|
||||
puts "No packages matched '#{name}'"
|
||||
exit 404 # Package not found -- hehe, super lame.
|
||||
when 1
|
||||
package = packages.first
|
||||
else
|
||||
packages.each_with_index do |package, index|
|
||||
puts "%3d. %s" % [index+1, package.name]
|
||||
end
|
||||
|
||||
print ">> "
|
||||
index = gets.to_i-1
|
||||
package = packages[index]
|
||||
end
|
||||
|
||||
@qwandry.launch(package) if package
|
||||
end
|
Loading…
Reference in New Issue