Welcome to Code Crunchers - we're serious about the software business.
Log in here for project support
A quick and dirty slide listing.... in groovy
public List getContent(SearchOptions so) throws IOException, SLMPException, SlideShareException, SlideShareErrorException {
log.debug "Get Some Slides ${so.keywords}"
SlideShareAPI ssapi = SlideShareAPIFactory.getSlideShareAPI(
grailsApplication.config.SLMP_SLIDESHARE_API_KEY, // Your API key
grailsApplication.config.SLMP_SLIDESHARE_DEVELOPER_KEY
);
com.benfante.jslideshare.messages.Tag tag= ssapi.getSlideshowByTag("cars",so.getStartIndex(),so.getResultsCount());
List slideshows = tag.getSlideshows();
log.debug slideshows.size()
List slideResults = new ArrayList()
for(Iterator i = slideshows.listIterator(); i.hasNext();) {
//search start/finish params
Slideshow s = (Slideshow) i.next() ; //TODO WTF s not defined with for(Slideshow s : sideshows){...}
def b = getSlideDetails(ssapi.getSlideshowInfo(null,s.getPermalink()));
if(b){
b.startIndex = so.getStartIndex()
b.availableRecords = so.getResultsCount()
slideResults.add(b)
}
}
return slideResults
}
private Object getSlideDetails(SlideshowInfo ss) throws SLMPException, SlideShareException, SlideShareErrorException {
if(ss==null){
throw new SLMPException("NULL Object Passed to getVideoDetails")
}
SlideshowInfo ssi = ss
def b = new Expando();
b.titles = [];
b.subjects = [];
b.uniqueIds = [];
b.authors = [];
b.publishers = [];
b.titles.add(ssi.getTitle()) //1 title
for (String t : ssi.getTagArray()) {
b.subjects.add(t)
}
b.uniqueIds.add( "SLIDE:${ssi.getId()}" ) //1 id only
b.thumbnail = ssi.getThumbnailUrl()
b.authors.add(ssi.getUserLogin())
return b
}