Version 2 of careck

Updated 2006-04-05 04:31:08

is the screen name of Carsten Eckelmann.

Delicious bookmarks reader - starting out... nothing to see yet...

package require base64 package require http package require tdom

proc delicious_get_all {username password} {

        set auth "Basic [base64::encode $username:$password]"
        set headerl [list Authorization $auth]
        set tok [http::geturl http://del.icio.us/api/posts/all -headers $headerl]
        set res [http::data $tok]
        http::cleanup $tok
        set pdoc [dom parse $res]
        set plist [$pdoc selectNodes //post]
        set posts {}
        foreach p $plist {
                lappend posts [list [$p getAttribute href] [$p getAttribute description] [$p getAttribute tag] [$p getAttribute time]]
        }
        $pdoc delete
        set posts

}

proc delicious_select_by_tag {dlist dtag} {

        set rl {}
        foreach p $dlist {
                set found 0
                foreach d $dtag {
                        if {[lsearch [lindex $p 2] $d] > -1} {
                                incr found 1
                        } else {
                                incr found -1
                        }
                }
                if {$found > 0} {
                        lappend rl $p
                }
        }
        set rl

}