summaryrefslogtreecommitdiff
path: root/csv2GradeBook.tcl
diff options
context:
space:
mode:
authorEugeniy Mikhailov <evgmik@gmail.com>2011-01-23 00:16:19 -0500
committerEugeniy Mikhailov <evgmik@gmail.com>2011-01-23 00:16:19 -0500
commit855fbfb9599c9a95c2c9a4b6f614cedc9f4de440 (patch)
tree93746bc9844d7dce44668d14e719a4295eacb106 /csv2GradeBook.tcl
parent8f46ad9061bd15012593ba1fdbdf21fa87b2e27d (diff)
downloadGradeBook-855fbfb9599c9a95c2c9a4b6f614cedc9f4de440.tar.gz
GradeBook-855fbfb9599c9a95c2c9a4b6f614cedc9f4de440.zip
added GradeBook db creation files
Ignore-this: 7f9fcf4b49c34ddfc5706829e469b691 darcs-hash:20110123051619-067c0-5e8a1924785b0e591cb7bb4f26a48bd3fbfedf29.gz
Diffstat (limited to 'csv2GradeBook.tcl')
-rwxr-xr-xcsv2GradeBook.tcl64
1 files changed, 64 insertions, 0 deletions
diff --git a/csv2GradeBook.tcl b/csv2GradeBook.tcl
new file mode 100755
index 0000000..4fadb07
--- /dev/null
+++ b/csv2GradeBook.tcl
@@ -0,0 +1,64 @@
+#!/bin/sh
+# (C) 2011 by Eugeniy Mikhailov, <evgmik@gmail.com>
+# vim:set ft=tcl: \
+exec tclsh "$0" "$@"
+
+package require sqlite3
+package require md5
+
+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 "<div class=\"errormsg\">error: $msg</div>"
+}
+
+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: