#!/usr/bin/perl

use strict;
use warnings;

use Carp qw(confess);
use Data::Dumper;
use File::Path;
use File::Basename;
use File::Path;
use Getopt::Std;

use Ernad::Args;
use Ernad::Erimp;
use Ernad::Presort::Seeds;

my %o;
&Getopt::Std::getopts('a', \%o);
## a append

our ($impna, $e, $repcode);

&Ernad::Args::parse();
$e=Ernad::Erimp->new({'impna'=> $impna,
                      'repcode'=>$repcode,
                      'verbose'=>3});
if(not $repcode) {
  print "I don't see your repcode.\n";
  exit;
}

#my $admin_user=$e->{'conf'}->{'admin_user'};
#if(not $admin_user) {
#  die "I can't run this script without a configured 'admin_user'";
#}

my $rerc=$e->{'report'}->{$repcode} // confess "I don't see your report $repcode.";

## FixMe: there should be more standards-compatible way
my $repdir=$e->{'dir'}->{'reports'}.'/'.$repcode;

### FixMe: should be in erimp
#my $archive_dir=$e->{'dir'}->{'var'}.'/archive/reports';
#my $archrep_dir=$archive_dir.'/'.$repcode;
#if(not -d $archrep_dir) {
#  mkpath($archrep_dir);
#}

my $target_dir=$ENV{'HOME'}."/opt/$repcode";
if(not $o{'a'} and -d $target_dir) {
  print "My target_dir $target_dir is already there, use -a to append.\n";
  exit;
}

my $s;
my $report_dir="$target_dir/report";
$s="rsync -va --exclude opt $repdir/ $report_dir";
print "$s\n";
system($s);

my $learn_dir=$e->{'dir'}->{'learn'};

$s="find $learn_dir/ -name '*$repcode*'";
print "$s\n";
foreach my $file (`$s`) {
  chomp $file;
  print "$file\n";
  my $basename=basename(dirname($file));
  print "basename $basename\n";
  my $learn_dir="$target_dir/learn/$basename";
  if(not -d $learn_dir) {
    mkpath("$learn_dir");
  }
  $s="rsync -va $file/ $learn_dir";
  system($s);
}



__END__;
