subscribe by website and parse html for feed url

This commit is contained in:
Athou
2013-04-01 09:16:24 +02:00
parent ca1cbc09ca
commit c8b587a94b
3 changed files with 5 additions and 11 deletions

View File

@@ -45,10 +45,11 @@ public class FeedFetcher {
String content = EntityUtils.toString(entity, "UTF-8");
String extractedUrl = extractFeedUrl(content);
if (extractedUrl != null) {
httpget = new HttpGet(feedUrl);
httpget = new HttpGet(extractedUrl);
response = httpclient.execute(httpget);
entity = response.getEntity();
content = EntityUtils.toString(entity, "UTF-8");
feedUrl = extractedUrl;
}
feed = parser.parse(feedUrl, content);
} catch (Exception e) {

View File

@@ -31,7 +31,7 @@ public class FeedParser {
try {
SyndFeed rss = new SyndFeedInput().build(new StringReader(xml));
feed.setUrl(rss.getLink() != null ? rss.getLink() : feedUrl);
feed.setUrl(feedUrl);
feed.setTitle(rss.getTitle());
List<SyndEntry> items = rss.getEntries();
for (SyndEntry item : items) {

View File

@@ -53,18 +53,11 @@ public class SubscriptionsREST extends AbstractREST {
Preconditions.checkNotNull(req.getTitle());
Preconditions.checkNotNull(req.getUrl());
Feed fetchedFeed = null;
try {
fetchedFeed = feedFetcher.fetch(req.getUrl());
} catch (FeedException e) {
return Response.status(Status.NOT_FOUND).entity(e.getMessage())
.build();
}
Feed fetchedFeed = fetchFeed(req.getUrl());
Feed feed = feedService.findByUrl(fetchedFeed.getUrl());
if (feed == null) {
feed = new Feed();
feed.setUrl(req.getUrl());
feed.setUrl(fetchedFeed.getUrl());
feedService.save(feed);
}