Posted to tcl by evilotto at Mon Mar 18 18:40:15 GMT 2013view raw
- #!/usr/bin/tclsh
- package require sqlite3
- sqlite3 db directory.db3
- set dbvalues {
- firstname "First"
- lastname "last"
- gender "Unspecified"
- uuid "1 1A 2B"
- }
- namespace eval ::commands {
- proc add {} {
- dict with ::dbvalues {
- db eval {INSERT INTO contacts(firstName, lastName, gender, contactUUID) VALUES($fistname, $lastname, $gender, $uuid)}
- }
- }
- # warning: defining a "list" command can be dangerous
- proc list {} {
- db eval {SELECT firstName, lastName, gender, dateOfBirth AS DOB, contactUUID AS UUID FROM contacts} values {
- parray values
- puts ""
- }
- }
- }
- set command [lindex $argv 0]
- foreach {flag value} [lrange $argv 1 end] {
- switch -exact -- $flag {
- -f - --first-name {dict set dbvalues firstname $value}
- -m - --middle-name {dict set dbvalues middlename $value}
- -l - --last-name {dict set dbvalues lastname $value}
- -g - --gender {dict set dbvalues gender $value}
- default {error "Unkown flag! Please modify the command."}
- }
- }
- ::commands::$command