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