#!/usr/bin/env perl

# Copyright (C) 2009  Joshua Hoblitt

use strict;
use warnings FATAL => qw( all );

use vars qw( $VERSION );
$VERSION = '0.01';

use Console;

use Getopt::Long qw( GetOptions :config auto_help auto_version );
use Pod::Usage qw( pod2usage );

my ($verbose);

GetOptions(
    'verbose|v'     => \$verbose,
) || pod2usage( 2 );
pod2usage( -msg => "Unknown option: @ARGV", -exitval => 2 ) if @ARGV;

my $rcfile = Console::find_rcfile();
my $c = Console::read_rcfile($rcfile);
my $hosts = $c->get_hosts;

go_add();

sub go_add
{
    printf("%-20s %s\n", "# adding: hostname", "console") if $verbose;

    foreach my $row (<DATA>) {
        last if $row =~ qr/^__END__$/;
        my ($hostname, $console) = split(/\s+/, $row);

        printf("%-20s %s\n", $hostname, $console) if $verbose;

        Console::add_host(
            config      => $c,
            hostname    => $hostname,
            console     => $console
        );
    }
}

__DATA__
ipp004  ippcon.ifa.hawaii.edu
ipp005  ippcon.ifa.hawaii.edu
ipp006  ippcon.ifa.hawaii.edu
ipp007  ippcon.ifa.hawaii.edu
ipp008  ippcon.ifa.hawaii.edu
ipp009  ippcon.ifa.hawaii.edu
ipp010  ippcon.ifa.hawaii.edu
ipp011  ippcon.ifa.hawaii.edu
ipp012  ippcon.ifa.hawaii.edu
ipp013  ippcon.ifa.hawaii.edu
ipp014  ippcon.ifa.hawaii.edu
ipp015  ippcon.ifa.hawaii.edu
ipp016  ippcon.ifa.hawaii.edu
ipp017  ippcon.ifa.hawaii.edu
ipp018  ippcon.ifa.hawaii.edu
ipp019  ippcon.ifa.hawaii.edu
ipp020  ippcon.ifa.hawaii.edu
ipp021  ippcon.ifa.hawaii.edu
ipp022  ippcon.ifa.hawaii.edu
ipp023  ippcon.ifa.hawaii.edu
ipp024  ippcon.ifa.hawaii.edu
ipp025  ippcon.ifa.hawaii.edu
ipp026  ippcon.ifa.hawaii.edu
ipp027  ippcon.ifa.hawaii.edu
ipp028  ippcon.ifa.hawaii.edu
ipp029  ippcon.ifa.hawaii.edu
ipp030  ippcon.ifa.hawaii.edu
ipp031  ippcon.ifa.hawaii.edu
ipp032  ippcon.ifa.hawaii.edu
ipp033  ippcon.ifa.hawaii.edu
ipp034  ippcon.ifa.hawaii.edu
ipp035  ippcon.ifa.hawaii.edu
ipp036  ippcon.ifa.hawaii.edu
ipp037  ippcon.ifa.hawaii.edu
ipp038  cab5con.ipp.ifa.hawaii.edu
ipp039  cab5con.ipp.ifa.hawaii.edu
ipp040  cab5con.ipp.ifa.hawaii.edu
ipp041  cab5con.ipp.ifa.hawaii.edu
ipp042  cab5con.ipp.ifa.hawaii.edu
ipp043  cab5con.ipp.ifa.hawaii.edu
ippdb00 cab5con.ipp.ifa.hawaii.edu
ippdb01 cab5con.ipp.ifa.hawaii.edu
ippdb02 cab5con.ipp.ifa.hawaii.edu
ipp044  cab6con.ipp.ifa.hawaii.edu
ipp045  cab6con.ipp.ifa.hawaii.edu
ipp046  cab6con.ipp.ifa.hawaii.edu
ipp047  cab6con.ipp.ifa.hawaii.edu
ipp048  cab6con.ipp.ifa.hawaii.edu
ippc00  cab6con.ipp.ifa.hawaii.edu
ippc01  cab6con.ipp.ifa.hawaii.edu
ippc02  cab6con.ipp.ifa.hawaii.edu
ippc03  cab6con.ipp.ifa.hawaii.edu
ippc04  cab6con.ipp.ifa.hawaii.edu
ippc05  cab6con.ipp.ifa.hawaii.edu
ippc06  cab6con.ipp.ifa.hawaii.edu
ippc07  cab6con.ipp.ifa.hawaii.edu
ippc08  cab6con.ipp.ifa.hawaii.edu
ippc09  cab6con.ipp.ifa.hawaii.edu
ipp049  cab7con.ipp.ifa.hawaii.edu
ipp050  cab7con.ipp.ifa.hawaii.edu
ipp051  cab7con.ipp.ifa.hawaii.edu
ipp052  cab7con.ipp.ifa.hawaii.edu
ipp053  cab7con.ipp.ifa.hawaii.edu
ippc10  cab7con.ipp.ifa.hawaii.edu
ippc11  cab7con.ipp.ifa.hawaii.edu
ippc12  cab7con.ipp.ifa.hawaii.edu
ippc13  cab7con.ipp.ifa.hawaii.edu
ippc14  cab7con.ipp.ifa.hawaii.edu
ippc15  cab7con.ipp.ifa.hawaii.edu
ippc16  cab7con.ipp.ifa.hawaii.edu
ippc17  cab7con.ipp.ifa.hawaii.edu
ippc18  cab7con.ipp.ifa.hawaii.edu
ippc19  cab7con.ipp.ifa.hawaii.edu
__END__

=pod

=head1 NAME

console-ipp-defaults - install default ipp hosts into the console rcfile

=head1 SYNOPSIS

    console-ipp-defaults [--verbose]

=head1 DESCRIPTION

This program is used to configure the ".rc" file for the console util.

=head1 OPTIONS

=over 4

=item * --verbose|-v

Turns on informational/debugging messages to be sent to the
C<stderr>/C<stdout>.

=back

=head1 CREDITS

Just me, myself, and I.

=head1 SUPPORT

Please contact the author directly via e-mail.

=head1 AUTHOR

Joshua Hoblitt <jhoblitt@cpan.org>

=head1 COPYRIGHT

Copyright (C) 2009  Joshua Hoblitt.  All rights reserved.

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) any later
version.

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, write to the Free Software Foundation, Inc., 59 Temple
Place - Suite 330, Boston, MA  02111-1307, USA.

The full text of the license can be found in the L<perlgpl> Pod as supplied
with Perl 5.8.1 and later.

=head1 SEE ALSO

L<Config::YAML>, L<Console>, L<console>, L<console-config>

=cut
