#!/bin/sh # (C) 2011 by Eugeniy Mikhailov, # vim:set ft=tcl: \ exec tclsh "$0" "$@" package require sqlite3 package require md5 source ./GradeBook_lib.tcl set class [lindex $argv 0] if { $class eq "" } { set class dummy_class } set csvfile [lindex $argv 1] set dbfile $class sqlite3 db $dbfile proc dbg {msg {level 1}} { if { $level <=2 } { set fid [open log a+] puts $fid $msg close $fid } } proc htmlErrorMsg { msg } { puts "
error: $msg
" } proc AddUserNonWeb { first_name last_name user_name password_hash {group_name {guest}} {id_number {}} {section_num {} } } { set eval_str [concat INSERT INTO GradesTable (FirstName, LastName, UserName, PasswordHash, GroupName, IdNum, SectionNum) VALUES('$first_name', '$last_name', '$user_name', '$password_hash', '$group_name', '$id_number', '$section_num')] set err [catch {db eval $eval_str } errStat] if { $err } { htmlErrorMsg $errStat dbg "the following error happen: $errStat" 3 } } #AddUserNonWeb first_name last_name user_name password_hash group_name id_number section_num i # dummy users # expect the csv file with following fields # sid, FName, LName, Section, email set fp [open $csvfile r] while {-1 != [gets $fp line]} { #puts "The current line is '$line'." set data [split $line ,] set id [lindex $data 0] set fname [lindex $data 1] set lname [lindex $data 2] set sect [lindex $data 3] set email [lindex $data 4] #puts "$fname $lname $email {} student $id $sect" AddUserNonWeb $fname $lname $email {} student $id $sect } # vim: ts=2 sw=2 foldmethod=indent: