Wiki source code of TwitterGroovy

Version 19.1 by Ludovic Dubost on 2009/01/02 16:04

Hide last authors
Ludovic Dubost 1.1 1
2
3 import java.util.List;
4 import twitter4j.Twitter;
Ludovic Dubost 6.1 5 import org.w3c.dom.Document;
Ludovic Dubost 11.1 6 import java.util.Date;
Ludovic Dubost 12.1 7 import java.text.*;
Ludovic Dubost 1.1 8
9 public class TwitterGroovy {
Ludovic Dubost 6.1 10 Twitter twitter;
Ludovic Dubost 4.1 11
Ludovic Dubost 5.1 12 public Twitter getTwitter(twitterID, twitterPassword) {
13 if (twitter!=null)
14 return twitter;
15
16 twitter = new Twitter(twitterID,twitterPassword);
17 return twitter;
Ludovic Dubost 4.1 18 }
19
Ludovic Dubost 8.1 20 public List search(String text) {
Ludovic Dubost 5.1 21 String url = "http://search.twitter.com/search.atom?q=" + text;
22 def resp = twitter.get(url, true);
Ludovic Dubost 8.1 23 def xml = resp.asString();
24 def list = new ArrayList();
25 def node = new XmlSlurper().parseText(xml)
Ludovic Dubost 9.1 26 for (entry in node.entry) {
Ludovic Dubost 14.1 27 String authoruri = entry.author.uri.text();
Ludovic Dubost 10.1 28 String authorid = authoruri.substring(authoruri.lastIndexOf("/") + 1);
Ludovic Dubost 18.1 29 Date publishDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").parse(entry.published.text().replaceAll("Z","+0000"));
Ludovic Dubost 14.1 30 def user = [ "id" : authorid, "name" : entry.author.name.text(), "screenName" : authorid,
Ludovic Dubost 19.1 31 "location" : "", "description" : "", "profileImageUrl": "", "URL" : authoruri, "isProtected" : "", "followersCount" : -1];
Ludovic Dubost 14.1 32 def st = [ "id" : entry.id.text(), "createdAt" : publishDate, "text" : entry.title.text(), "content" : entry.content.text(), "source" : "", "isTruncated" : false, "inReplyToStatusId": "", "inReplyToUserId": "", "user" : user ];
Ludovic Dubost 10.1 33 list.add(st);
Ludovic Dubost 8.1 34 }
35 return list;
Ludovic Dubost 1.1 36 }
37 }