Sha256: 17feb56fc2f5a5ddc7455c774789f179752ceefd5751c1b2ae8b633deadbb0b4

Contents?: true

Size: 1.99 KB

Versions: 1

Compression:

Stored size: 1.99 KB

Contents

#!/usr/bin/ruby

$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))

require 'arson'
require 'arson/colorful'


if ARGV.to_s == ""
	puts "arson #{Arson::VERSION.join('.')} [Colin 'Evaryont' Shea <evaryont@saphrix.com>]"
	puts "Please specifiy what to search for as the parameters to this script:"
	puts Arson.colorful(:italic, "  #{Arson::PROGRAM} pacman")
	puts ""
	puts "If you want to download a package, run #{Arson::PROGRAM} as such:"
	puts Arson.colorful(:italic, "  #{Arson::PROGRAM} aur/arson")
	puts "(note: you can include the -category bit if you wish)"
	puts ""
	puts "Passing '?' to arson will cause it to check for any upgrades"
	exit 1
end

if pkg = ARGV.to_s.scan(/^aur(?:-.*)\/(.*)$/).flatten[0]
	if pkg = Arson.find_exact(pkg)
		puts "Downloading #{pkg}..."
		Arson.download(pkg)
		exit 0
	else
		warn "I think you attempted to download a package, but I couldn't find it"
	end
end

if ARGV.to_s =~ /\?/
	print "Checking for upgrades..."
	$stdout.flush
	upgrades = Arson.check_upgrades
	unless upgrades.empty?
		print "\n"
		$stdout.flush
		upgrades.each do |line, new_version|
			puts "#{line.strip} #{Arson::ASCII_CHECK} #{Arson.colorful("Green", new_version)}"
		end
	else
		puts "Nothing to update"
	end
	exit 0
end

packages = Arson.search(ARGV)
if packages.length > 1
	packages.each do |pkg|
		name = Arson.colorful("White", pkg['Name'])
		name = Arson.colorful("Red", name) if pkg["OutOfDate"] == "1"
		if Arson::Categories[pkg['CategoryID'].to_i] && Arson::Categories[pkg['CategoryID'].to_i] != "nil"
			category = "-#{Arson::Categories[pkg['CategoryID'].to_i]}"
		else
			category = ""
		end

		puts <<-HERE
#{Arson.colorful("Magenta", "aur#{category}")}/#{name} #{Arson.colorful("Green",pkg['Version'])}
	#{pkg['Description']}
		HERE
		$stdout.flush
	end

	if File.exists? "/usr/bin/pacman-color"
		exec "/usr/bin/pacman-color -Ss #{ARGV.join(' ')}"
	else
		exec "/usr/bin/pacman -Ss #{ARGV.join(' ')}"
	end
else
	puts "Downloading #{packages.first['Name']}..."
	Arson.download(packages.first)
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
evaryont-arson-2.0.0 bin/arson