def prepare_parts(data,mimetype,filename,title=nil,description=nil,
tags=nil, is_public=nil,is_friend=nil,is_family=nil,
sig=nil, async=nil)
parts = []
parts << Flickr::FormPart.new('title',title) if title
parts << Flickr::FormPart.new('description',description) if
description
parts << Flickr::FormPart.new('tags',tags.join(',')) if tags
parts << Flickr::FormPart.new('is_public',
is_public ? '1' : '0') if is_public != nil
parts << Flickr::FormPart.new('is_friend',
is_friend ? '1' : '0') if is_friend != nil
parts << Flickr::FormPart.new('is_family',
is_family ? '1' : '0') if is_family != nil
parts << Flickr::FormPart.new('async',
async ? '1' : '0') if async != nil
parts << Flickr::FormPart.new('api_key',@flickr.api_key)
parts << Flickr::FormPart.new('auth_token',
@flickr.auth.token.token)
parts << Flickr::FormPart.new('api_sig',sig)
parts << Flickr::FormPart.new('photo',data,mimetype)
parts.last.attributes['filename'] = filename
return parts
end