#!/usr/bin/perl
use strict;
use warnings;

use Digest::MD5 qw(md5 md5_hex md5_base64);
use MIME::Parser;
use MIME::Entity;
use MIME::Body;
use Getopt::Long;

use lib qw(Core);
use lib qw(Classes);

use LocalConfiguration;

use StatusManager;
use TargetsManager;
use Logger;
use SplitByParent;

my $SCRIPTNAME = 'create_tarballs.pl';

#my $logger = new Logger();

my $targets_manager = new TargetsManager();
my $status_manager = new StatusManager();
my $predictions_manager = new PredictionsManager();
my $groups_manager = new GroupsManager();

my @group_list = $status_manager->info_group_list();
my @target_list = $status_manager->info_public_target_list();
#
#SERVERS TARBALLS
my $directory = "/data/CASP9/predictions/tarballs";
my $count_files = 0;
for(my $t_count = 0; $t_count < scalar(@target_list); $t_count++) {

print "TARGET: $target_list[$t_count]->{NAME} \n";



my @FILES_LIST = ();
if(open(FILE_list_of_results, "/bin/ls " . $directory."/".$target_list[$t_count]->{NAME}. "/* |")) {
            @FILES_LIST = <FILE_list_of_results>;
            close (FILE_list_of_results);
}

my $group_name_tmp="";
my $target = $target_list[$t_count]->{NAME};
foreach my $line (@FILES_LIST) {
    		
	$line =~ /$directory\/$target\/(.*)/;
	my $file_name = $1;

	if ($file_name =~ /^(\S+)\_TS.*/ || $file_name =~ /^(\S+)\_AL.*/) {
		my $group_name = $1;
		my $group_id = $groups_manager->get_id_by_name($group_name);
		if ($group_id != 0) {		
			if(($groups_manager->is_server($group_id) == 0) && ($group_name_tmp ne $group_name)){
				print "ERROR!  Group: $group_name Target: $target_list[$t_count]->{NAME} \n";
				$count_files ++;
				$group_name_tmp = $group_name;

			}			
			#print "    Group - $group_name \n";	
		} else {

			print "Can not understand group name $group_name Target $target_list[$t_count]->{NAME}\n";	
			$group_name_tmp = $group_name;
		}
	} else { 
		print sprintf("Can not parse this file name: %s \n", $file_name);
	}
}

if($group_name_tmp eq "") {
	print "THIS TARGET is clear: $target_list[$t_count]->{NAME}";	
} else {
	#system("rm -rf $directory\/$target");
}

}

print "\n COUNT: $count_files\n ";
