use EixoUtils::MysqlTool;
use strict;
use Getopt::Std;

my $params = &load_from_cli;

my $tool = EixoUtils::MysqlTool->new(%$params);

if($params->{accion} eq 'export'){

    $tool->exportarBD($params->{file});

    print "Database exported correctly\n";

}
elsif($params->{accion} eq 'import'){
    $tool->importarBD($params->{file});
    print "Database imported correctly\n";
}
else{
    die ("Action not defined");
}


sub load_from_cli{
    my $self = {};

    # Mergeamos CONF cas opcions pasadas desde a linea de comandos
    my $opts = {};
    
    getopts("eiu:p:b:h:f:", $opts) or &main::HELP_MESSAGE();

    $self->{file} = $opts->{f};
    &main::HELP_MESSAGE() unless($self->{file});

    $self->{accion} = ($opts->{e})? 'export': 'import';

    $self->{usuario} = $opts->{u};
    $self->{clave} = $opts->{p} || undef;
    $self->{bd} = $opts->{b} || undef;
    $self->{host} = $opts->{h} || undef;

    $self;
}

sub main::HELP_MESSAGE{
    
    my $msg = <<EOF  

    Usage: $0 -e|-i -u <user> -p <pass> -b <db> -h <host> 
    
    -e: Export database to file
    -i: Import database from file

    -f <file> : Sql file where/from export/import (NEEDED)
    -u <user>: User to use to export/import database
    -p <pass>: User password
    -h <host>: Server hostname (default localhost)
    -b <database>: Database to export/import

EOF
;
    print $msg;
    exit(0);

}

#sub main::VERSION_MESSAGE {
#    my $msg = <<EOF
#    Version: $Malware::Finder::VERSION
#EOF
#;
#    print $msg;
#}
#


1;
