Diff for /capa/capa51/GUITools/gradesubjective.tcl between versions 1.9 and 1.11

version 1.9, 1999/12/13 21:38:44 version 1.11, 2000/07/07 18:25:12
Line 1 Line 1
   # grade subjective responses
   #  Copyright (C) 1992-2000 Michigan State University
   #
   #  The CAPA system is free software; you can redistribute it and/or
   #  modify it under the terms of the GNU Library General Public License as
   #  published by the Free Software Foundation; either version 2 of the
   #  License, or (at your option) any later version.
   #
   #  The CAPA system is distributed in the hope that it will be useful,
   #  but WITHOUT ANY WARRANTY; without even the implied warranty of
   #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   #  Library General Public License for more details.
   #
   #  You should have received a copy of the GNU Library General Public
   #  License along with the CAPA system; see the file COPYING.  If not,
   #  write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
   #  Boston, MA 02111-1307, USA.
   #
   #  As a special exception, you have permission to link this program
   #  with the TtH/TtM library and distribute executables, as long as you
   #  follow the requirements of the GNU GPL in regard to all of the
   #  software in the executable aside from TtH/TtM.
   
 set gMaxSet 99  set gMaxSet 99
   
 proc gradeSubjective {} {  proc gradeSubjective {} {
Line 227  proc updateSecCount {} { Line 250  proc updateSecCount {} {
   
 proc subjCheckForNew {} {  proc subjCheckForNew {} {
     global gSubj      global gSubj
    
       foreach file [glob ?????????] {
    if { [lsearch $gSubj(stunums) $file] == -1 } { lappend gSubj(stunums) $file }
       }
       set gSubj(togo) [expr [llength $gSubj(stunums)]-$gSubj(done)]
 }  }
   
 proc checkGSubj {} {  proc checkGSubj {} {
Line 292  proc subjInitAllLists {} { Line 320  proc subjInitAllLists {} {
  incr i   incr i
  set aline [gets $fileId]   set aline [gets $fileId]
  if { [eof $fileId]} {break}   if { [eof $fileId]} {break}
    # skip blank lines
    if { [string trim $aline] == "" } { continue }
  lappend gSubj(allstunum) [string toupper [string range $aline 14 22]]   lappend gSubj(allstunum) [string toupper [string range $aline 14 22]]
  #lappend gSubj(allname) [string toupper [string range $aline 24 59]]   #lappend gSubj(allname) [string toupper [string range $aline 24 59]]
  lappend gSubj(allname) [string range $aline 24 59]   lappend gSubj(allname) [string range $aline 24 59]
Line 419  proc subjFindIds2 {} { Line 449  proc subjFindIds2 {} {
     set text [string toupper [$gSubj(response) get 0.0 end]]      set text [string toupper [$gSubj(response) get 0.0 end]]
     set result ""      set result ""
     if { [catch {lsearch $text a}] } {       if { [catch {lsearch $text a}] } { 
  puts badlist; return subjFindIds1    #puts badlist
    return subjFindIds1 
     } else {      } else {
  foreach id $gSubj(allstunum) {   foreach id $gSubj(allstunum) {
     if { [lsearch -glob $text *$id*] != -1 } {      if { [lsearch -glob $text *$id*] != -1 } {
Line 739  proc subjGetOneStudent { window path idV Line 770  proc subjGetOneStudent { window path idV
 ###########################################################  ###########################################################
 ###########################################################  ###########################################################
 proc subjSendResponse {} {  proc subjSendResponse {} {
     global gSubj      global gSubj gCapaConfig
   
     if { "" == [set which [$gSubj(responseList) curselection]]} {      if { "" == [set which [$gSubj(responseList) curselection]]} {
  displayMessage "Please select a message to send."   displayMessage "Please select a message to send."
Line 755  proc subjSendResponse {} { Line 786  proc subjSendResponse {} {
  set index [lsearch $gSubj(allstunum) $stu]   set index [lsearch $gSubj(allstunum) $stu]
  set name [lindex $gSubj(allname) $index]   set name [lindex $gSubj(allname) $index]
  set email [lindex $gSubj(allemail) $index]   set email [lindex $gSubj(allemail) $index]
  puts "$name:[split $name ,]:[lindex [split $name ,] 1]:[lindex [lindex [split $name ,] 1] 0]:$index:$stu"   #puts "$name:[split $name ,]:[lindex [split $name ,] 1]:[lindex [lindex [split $name ,] 1] 0]:$index:$stu"
  puts [lsearch $gSubj(allemail) albertel@pilot.msu.edu]   #puts [lsearch $gSubj(allemail) albertel@pilot.msu.edu]
  set first_name [lindex [lindex [split $name ,] 1] 0]   set first_name [lindex [lindex [split $name ,] 1] 0]
  set last_name [lindex [split $name , ] 0]   set last_name [lindex [split $name , ] 0]
  set score $gSubj(score)   set score $gSubj(score)
Line 765  proc subjSendResponse {} { Line 796  proc subjSendResponse {} {
  regsub -all -- \\\$score $message $score message   regsub -all -- \\\$score $message $score message
 # set message [subst -nobackslashes -nocommands $gSubj(response.$which)]  # set message [subst -nobackslashes -nocommands $gSubj(response.$which)]
  if { [regexp -- (^Subject:\[^\n\]*)(\n)(.*) $message matchvar subjline newline messagebody] } {   if { [regexp -- (^Subject:\[^\n\]*)(\n)(.*) $message matchvar subjline newline messagebody] } {
     set message "$subjline Class [file tail $gSubj(dir)], Set $gSubj(set), Question $gSubj(quest) \n$messagebody"      set subject "$subjline Class [file tail $gSubj(dir)], Set $gSubj(set), Question $gSubj(quest)"
       set message $messagebody
  } else {   } else {
     set message "Subject: Class [file tail $gSubj(dir)], Set $gSubj(set), Question $gSubj(quest) \n$message"      set subject "Subject: Class [file tail $gSubj(dir)], Set $gSubj(set), Question $gSubj(quest)"
  }   }
  displayMessage "$message sent to $email"   displayMessage "$message sent to $email"
  exec echo $message | mail $email   exec echo $message | $gCapaConfig(mail_command) -s $subject $email
     }      }
 }  }
   
Line 852  proc subjDeleteResponse {} { Line 884  proc subjDeleteResponse {} {
     if { "" == [set which [$gSubj(responseList) curselection]]} { return }      if { "" == [set which [$gSubj(responseList) curselection]]} { return }
     incr which      incr which
     if { [catch {unset gSubj(response.$which)}] } {      if { [catch {unset gSubj(response.$which)}] } {
  puts [array names gSubj response.*]   #puts [array names gSubj response.*]
  return   return
     }      }
     for {set i [expr $which + 1]} { [info exists gSubj(response.$i)] } {incr i} {      for {set i [expr $which + 1]} { [info exists gSubj(response.$i)] } {incr i} {
Line 1143  proc subjDeleteKeyword {} { Line 1175  proc subjDeleteKeyword {} {
     }      }
     set gSubj(keywords) $newkeyword      set gSubj(keywords) $newkeyword
     subjUpdateKeywords      subjUpdateKeywords
 }  
   
   }

Removed from v.1.9  
changed lines
  Added in v.1.11


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>