#!/bin/sh # (C) 2011 by Eugeniy Mikhailov, # vim:set ft=tcl: \ exec tclsh "$0" "$@" set reviewersToSkip [list "Michael Kordosky" "Konstantinos Orginos"] package require sqlite3 package require md5 package require json::write source ./GradeBook_lib.tcl sqlite3 dbScoresAndNotes csvExport.db -readonly true sqlite3 db /run/user/1000/2021_physics.db proc iferror { err errStat {eval_str {""} }} { #return; # comment out when debugging if { $err } { puts "Error: $errStat" if { $eval_str ne "" } { puts "For query: $eval_str" } return true } return false } set rank [list Individual Ranking] set ReviewerName [list Application Review: Owner Name] set type [list Application Review Type] set fname [list First Name] set lname [list Last Name] set idnum [list SID] ## create table id it does not exist CreateCourseInfoTable db CreateGradesTable db CreateAccessRightsTable db CreateGradesCategoryTable db ## Pull out students related info set eval_str [concat SELECT * FROM 'applicants_raw'] set err [catch { dbScoresAndNotes eval $eval_str v { #AddUserNonWeb $fname $lname $email student $id $sect AddUserNonWeb $v($fname) $v($lname) $v(Email) student $v($idnum) 1 #addStudent db $v($idnum) $v(Contact) } } errStat ] iferror $err $errStat set hwPrefix "Homework" set labPrefix "Lab" ## Fill the grades set eval_str [concat SELECT * FROM 'applicants_raw'] set err [catch { dbScoresAndNotes eval $eval_str v { set all_column_names [getColListFromTable GradesTable] foreach col $v(*) { #puts $col set result [regexp -nocase {Homework [0-9]+$} $col match] if { $result } { puts " -> $col" if { $CategoryWeightedTolalName ni $all_column_names } { AddColumnNonWeb $col HomeWork 20 } #UpdateColumnWithValueInTableWhere GradesTable $col $v($col) IdNum $v($idnum) } } } } errStat ] iferror $err $errStat ## Pull student decision #set eval_str [concat SELECT * FROM 'applicants_raw' where \`$type\` LIKE \'%GAS Physics Student Intent to Enroll%\'] #set err [catch { #dbScoresAndNotes eval $eval_str v { #addStudent db $v($idnum) $v(Contact) #if { $v(Decision) ne "" } { #UpdateColumnWithValueInTableWhere db GradesTable StudentResponse $v(Decision) IdNum $v($idnum) #} #} #} errStat ] #iferror $err $errStat