#!/usr/bin/env ruby
#--
# Copyright (C) 2008 Harald Sitter <apachelogger@ubuntu.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of
# the License or (at your option) version 3 or any later version
# accepted by the membership of KDE e.V. (or its successor approved
# by the membership of KDE e.V.), which shall act as a proxy
# defined in Section 14 of version 3 of the license.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#--

require 'bat'

Optparser.new()
$options.all  = true
$options.tar  = false
$options.diff = false
$options.dsc  = false

$opts.banner  = "Usage: #{SCRIPT} [options] PACKAGE [series]"

$opts.on("-t", "--tar", "Pull tarball") do |tar|
    $options.tar = tar
    $options.all = false
end
$opts.on("-d", "--diff", "Pull diff file") do |diff|
    $options.diff = diff
    $options.all = false
end
$opts.on("-c", "--dsc", "Pull dsc file") do |dsc|
    $options.dsc = dsc
    $options.all = false
end
$opts.parse!(ARGV)

err($opts.banner) if ARGV.empty?

pkgname = ARGV[0].downcase

# maintain compability with pull-lp-source by expecting the distribution series
# as 2nd argument and read the DIST environmental variable if no series is set.
# If both aren't provided we use the target distro value from the Bat module.
if ARGV[1]
    series = ARGV[1].downcase
elsif ENV['DIST']
    series = ENV['DIST'].downcase
else
    series = TD
end

pkg = PullLP.new(pkgname,series)

if $options.all
    pkg.dget
end

if $options.tar
    pkg.get_tar
end

if $options.diff
    pkg.get_diff
end

if $options.dsc
    pkg.get_dsc
end
