#!/usr/bin/perl -w
use strict;

use lib 'lib', '../lib';

my %opts;
use Getopt::Long;
GetOptions("class=s", \my($class),
	   "id=i", \my($id),
           "cols=s",  \my($cols),
	   "config=s", \my($cfg));
$class or die "usage: $0 --class=<class> [--id=<id>] [--cols=<columns>] [--config=<cfg>]";

use MT;
my $mt = MT->new(defined $cfg ? (Config => $cfg) : ()) or die MT->errstr;

eval "use $class;";
die "Error loading '$class': $@" if $@;

my @args;
@args = ($id) if $id;
my $iter = $class->load_iter(@args) or
    die "Load failed: " . $class->errstr;
$cols = $cols ? [ split /\s*,\s*/, $cols ] : $class->column_names;
print join(':', @$cols), "\n";
while (my $obj = $iter->()) {
    print join(':', map defined $obj->column($_) ? $obj->column($_) : '', @$cols), "\n";
}
