#!/usr/bin/perl
#
# gbExtFileUpdate [options] database ...
#
# Update seq/extFile tables to point to the latest release
#
# $Id: gbExtFileUpdate,v 1.4 2006/04/07 14:00:28 markd Exp $
#
use strict;
use warnings;
use File::Basename;
use FindBin;
use lib "$FindBin::Bin/../lib";
use gbCommon;

my $usage = 
    " gbExtFileUpdate [options] database ...\n"
    . "\n"
    . "Update seq/extFile tables to point to the latest release.\n"
    . "\n"
    . " Options:\n"
    . "   -gbdbGenBank=dir - Use dir instead of /gbdb/genbank, for testing.\n"
;
my $gbdbGenBank;
my $verboseArg="";

# update the specified file
sub extFileUpdate($) {
    my($db) = @_;
    my $cmd = "extFileUpdate $verboseArg";
    if (defined($gbdbGenBank)) {
        $cmd .= " -gbdbGenBank=$gbdbGenBank";
    }
    $cmd .= " $db";
    runProg($cmd);
}

# Entry
my $hostName = `hostname`;
chomp($hostName);
$gbCommon::verbose = 1;
while (($#ARGV >= 0) && ($ARGV[0] =~ /^-.*/)) {
    my $opt = $ARGV[0];
    shift @ARGV;
    if ($opt eq "-verbose") {
        $verboseArg = "-verbose=1";
        $gbCommon::verbose = 1;
    } elsif ($opt =~ /^-verbose=/) {
        $verboseArg = "-verbose=" . parseOptEq($opt);
        $gbCommon::verbose = 1;
    } elsif ($opt =~ /^-gbdbGenBank=/) {
        $gbdbGenBank = parseOptEq($opt);
    } else {
        gbError("invalid option \"$opt\"\n$usage");
    }
}
if ($#ARGV < 0) {
    gbError("wrong # args: $usage");
}
my @databases = @ARGV;

beginTask("dbload/$hostName", "extFileUpdate");
setupHgConf();

# load the database
foreach my $db (@databases) {
    extFileUpdate($db);
}
endTask();

