#!/usr/bin/perl

use strict;
use warnings;

use Data::Dumper;
### use Sys::RunAlone;
use File::Basename;
use Getopt::Std;
use List::Util qw(shuffle);
use Ernad::Learn;

##
## This only works for NEP learning
##

my %options;
&getopts('r:', \%options);

my $impna = 'nep';
print "This only works for nep learning\n";

## update all
my $all_updates = $ARGV[2] // '';

our $e=Ernad::Erimp->new({'impna'=>$impna,
                          'verbose'=>4});

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

my $mocla_dir="$learn_dir/mocla";

my @models=`find $mocla_dir -type f -name '*.model'`;

my $m;
foreach my $file (@models) {
  chomp $file;
  $file=~m|/(nep-[a-z]{3})/| or die $file;
  my $report=$1;
  $file=~m|(\d{10})| or die $file;
  my $time=$1;
  $m->{$report}->{$time}=$file;
}

my $f;
my @fitars=glob("$learn_dir/fitar/nep-all/*.json");
foreach my $fitar (@fitars) {
  $fitar=~m|(\d{10})| or die $fitar;
  my $time=$1;
  $f->{$time}=$fitar;
}

foreach my $report (keys %$m) {
  foreach my $time (keys %{$m->{$report}}) {
    if(not $f->{$time}) {
      my $file=$m->{$report}->{$time};
      my $dir=dirname($file);
      my @files=glob("$dir/*$time*");
      foreach my $to_go (@files) {
        if($to_go=~m|GONE$|) {
          next;
        }
        my $s="mv $to_go $to_go.GONE";
        print "$s\n";
        system($s);
        # delete $m->{$report}->{$time};
      }
    }
  }
}

#print Dumper $m;



__END__;
