#!/usr/bin/perl
##  JJ, based on buildProblemSet.pl by  W.K. Ziemer, 2001
##
## This does a destroy and rebuild
##
## syntax:  dandrprobset courseID setDefinition
## example: dandrprobset ma112 set1.def
##  or
## syntax:  dandrprobset setDefinition
## example: dandrprobset set1.def
##
## when inside the directory for a particular course

use lib '/ud/webwork/base/system/cgi/cgi-scripts'; 
use webworkInit;
use Global;
use Auth;
use TimeLocal;
use strict;

if(@ARGV==1) {
  my $cdir = `pwd`;
  chomp($cdir);
  my @parts = split '/', $cdir;
  @parts = reverse @parts;
  my $j;
  for $j (1..scalar(@parts)) {
    if($parts[$j-1] eq "templates") {
    $ARGV[1]=$ARGV[0];
    $ARGV[0]=$parts[$j];
    print "I think this course is ".$parts[$j]."\n\n";
    }
  }
}

my $dodel=1;

if(@ARGV==2){
	&Global::getCourseEnvironment("$ARGV[0]");
	my $scriptDirectory   		= getWebworkScriptDirectory;

	require "${scriptDirectory}$Global::DBglue_pl";
	require "${scriptDirectory}$Global::buildProbSetTools";

	my $method ='createNewPSVNs';
	my $outputFormat='all_students';

if($dodel) {
	my $setNumber = $ARGV[1];
	$setNumber =~ s/^set//;
	$setNumber =~ s/.def$//;
	my @PINs=&getAllProbSetKeysForSet($setNumber);

        print "Deleting problems in set $setNumber<BR>\n";
        my $PIN;
        my $PINcount = 0;
        foreach $PIN (@PINs) {
           &attachProbSetRecord($PIN);
            if (&deleteProbSetRecord($PIN)) {
                $PINcount++;
            }
        }
}


	my $message = &buildProbSetDB($ARGV[0],$ARGV[1],$method,'',$outputFormat);
	print "$message\n";

}else{
	print " syntax:  buildProblemSet.pl courseID setDefinition\n example: buildProblemSet.pl ma112 set1.def\n";
	exit(0);
};

