aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xblackboard2gradebook.tcl33
1 files changed, 18 insertions, 15 deletions
diff --git a/blackboard2gradebook.tcl b/blackboard2gradebook.tcl
index 02dc901..4a8adff 100755
--- a/blackboard2gradebook.tcl
+++ b/blackboard2gradebook.tcl
@@ -162,6 +162,23 @@ proc foreignUsername2local { uname } {
return "$uname@email.wm.edu"
}
+proc updateGrade { col locUname grade } {
+ set oldGrade [SelectColValue4User $col $locUname ]
+ #puts "$locUname: $col oldGrade \{$oldGrade\} --> \{$grade\}"
+ if { $oldGrade == $grade } { return }
+ if { [regexp -nocase -- {excuse} $oldGrade] } {
+ # remote system do not handle excuses
+ # so local system take precedence
+ #puts [list "not updating \"excused\" grade:" $locUname $col $oldGrade "-->" $grade]
+ return
+ }
+ if { $oldGrade != $grade } {
+ #puts "$locUname: $col oldGrade \{$oldGrade\} --> \{$grade\}"
+ puts [list $locUname $col $oldGrade "-->" $grade]
+ veval [list UpdateColValue4UserNameNonWeb $col $locUname $grade]
+ }
+}
+
######################### START of the execution #########################
set dryrun true
@@ -199,22 +216,8 @@ foreach col [getColListFromAnyTable bdb export_table] {
# change percentage to score
set grade [ expr {$grade/100*$maxScore} ]
}
- set oldGrade [SelectColValue4User $shortCol $locUname ]
- #puts "$locUname: oldGrade \{$oldGrade\} --> $grade"
- if { $oldGrade == $grade } { continue }
- if { [regexp -nocase -- {excuse} $oldGrade] } {
- # remote system do not handle excuses
- # so local system take precedence
- puts "not updating \"excused\" grade"
- continue
- }
- if { $oldGrade != $grade } {
- puts "TESTING: skipping grades which change"
- puts "$locUname: $shortCol oldGrade \{$oldGrade\} --> $grade"
- #continue
- }
- veval [list UpdateColValue4UserNameNonWeb $shortCol $locUname $grade]
}
+ updateGrade $shortCol $locUname $grade
}
}