#!/usr/bin/perl
##  W.K. Ziemer, 2001
##
##  modified by JJ -- if there is only one argument, deduce
##  the course name from the current directory.  This is particularly
##  useful when run from a templates directory.
##
## This file is buildProblemSet.pl
## It provides command line functionality to problem set building
## with webwork 1.7
##
## syntax:  buildProblemSet.pl courseID setDefinition
## example: buildProblemSet.pl ma112 set1.def
##  or
## syntax:  buildProblemSet.pl setDefinition
## example: buildProblemSet.pl set1.def

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";
    }
  }
}

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';

	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);
};

