def search(text,per_page=nil,page=nil)
args = { 'text' => text }
args['per_page'] = per_page if per_page
args['page'] = page if page
res = @flickr.call_method('flickr.groups.search',args)
att = res.root.attributes
list = Flickr::GroupList.new(att['page'].to_i,att['pages'].to_i,
att['perpage'].to_i,att['total'].to_i)
res.elements['/groups'].each_element('group') do |e|
att = e.attributes
nsid = att['nsid']
g = @flickr.group_cache_lookup(nsid) ||
Flickr::Group.new(@flickr,nsid)
g.name = att['name']
g.eighteenplus = att['eighteenplus'].to_i == 1
@flickr.group_cache_store(g)
list << g
end
return list
end