#!/bin/sh # (C) 2011 by Eugeniy Mikhailov, # vim:set ft=tcl: \ exec tclsh "$0" "$@" package require sqlite3 package require md5 source ./GradeBook_lib.tcl if { $argc < 2 } { puts {Usage:} puts " $argv0 database_name file_with_csv" puts {} puts { expect the csv file with following fields:} puts { sid, FName, LName, Section, email} puts {} puts {Example:} puts [concat " $argv0" { 2013_Spring_Phys742 roster.csv}] exit } 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 {group_name {guest}} {id_number {}} {section_num {} } } { set eval_str [concat INSERT INTO GradesTable (FirstName, LastName, UserName, GroupName, IdNum, SectionNum) VALUES('$first_name', '$last_name', '$user_name', '$group_name', '$id_number', '$section_num')] set err [catch {db eval $eval_str } errStat] if { $err } { htmlErrorMsg $errStat dbg "the following error happen: $errStat" msg_level_critical } } #AddUserNonWeb first_name last_name user_name password_hash group_name id_number section_num i # dummy users 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: