Flickr photos in OpenACS/Tcl
Here is my code for showing my Flickr photos on the left side of my blog:
namespace eval flickr {} namespace eval flickr::people {}Feel free to use for any purpose. Beware that there are no safety guards. Use at your own risk :)
ad_proc flickr::api_key {} { return "<em>your api key here</em>" }
ad_proc flickr::people::findByUsername { username } { set doc [util_httpget [export_vars -base http://www.flickr.com/services/rest/ \ { { method flickr.people.findByUsername } { api_key [flickr::api_key] } username }]] set xml [xml_parse -persist $doc] set root [xml_doc_get_first_node $xml] set user [xml_node_get_first_child_by_name $root "user"] return [xml_node_get_attribute $user nsid] }
ad_proc flickr::people::getPublicPhotos { {-multirow images} user_id {per_page 5} {page 1} } { set doc [util_httpget [export_vars -base http://www.flickr.com/services/rest/ \ { { method flickr.people.getPublicPhotos } { api_key [flickr::api_key] } user_id per_page page }]] set xml [xml_parse -persist $doc] set root [xml_doc_get_first_node $xml] set photos [xml_node_get_first_child_by_name $root "photos"] template::multirow create $multirow url src width height title foreach photo [xml_node_get_children_by_name $photos "photo"] { foreach attr { id secret server title } { set $attr [xml_node_get_attribute $photo $attr] } template::multirow append $multirow \ http://www.flickr.com/photos/$user_id/$id \ http://photos${server}.flickr.com/${id}_${secret}_s.jpg 75 75 $title } }
About Calvin Correli
I've spent the last 17 years learning, growing, healing, and discovering who I truly am, so that I'm now living every day aligned with my life's purpose.
0 comments
Leave a comment