forked from Archives/Athou_commafeed
handle all entry content sanity check at the same place
This commit is contained in:
@@ -73,19 +73,23 @@ public class FeedParser {
|
|||||||
List<SyndEntry> items = rss.getEntries();
|
List<SyndEntry> items = rss.getEntries();
|
||||||
for (SyndEntry item : items) {
|
for (SyndEntry item : items) {
|
||||||
FeedEntry entry = new FeedEntry();
|
FeedEntry entry = new FeedEntry();
|
||||||
|
|
||||||
entry.setGuid(item.getUri());
|
entry.setGuid(item.getUri());
|
||||||
entry.setGuidHash(DigestUtils.sha1Hex(item.getUri()));
|
entry.setGuidHash(DigestUtils.sha1Hex(item.getUri()));
|
||||||
entry.setUrl(FeedUtils.truncate(item.getLink(), 2048));
|
entry.setUrl(FeedUtils.truncate(item.getLink(), 2048));
|
||||||
entry.setUpdated(validateDate(getUpdateDate(item)));
|
entry.setUpdated(validateDate(getUpdateDate(item)));
|
||||||
entry.setAuthor(item.getAuthor());
|
entry.setAuthor(FeedUtils.truncate(item.getAuthor(), 128));
|
||||||
|
|
||||||
FeedEntryContent content = new FeedEntryContent();
|
FeedEntryContent content = new FeedEntryContent();
|
||||||
content.setContent(getContent(item));
|
content.setContent(FeedUtils.handleContent(getContent(item),
|
||||||
content.setTitle(item.getTitle());
|
feed.getLink()));
|
||||||
|
content.setTitle(FeedUtils.truncate(FeedUtils.handleContent(
|
||||||
|
item.getTitle(), feed.getLink()), 2048));
|
||||||
SyndEnclosure enclosure = (SyndEnclosure) Iterables.getFirst(
|
SyndEnclosure enclosure = (SyndEnclosure) Iterables.getFirst(
|
||||||
item.getEnclosures(), null);
|
item.getEnclosures(), null);
|
||||||
if (enclosure != null) {
|
if (enclosure != null) {
|
||||||
content.setEnclosureUrl(enclosure.getUrl());
|
content.setEnclosureUrl(FeedUtils.truncate(
|
||||||
|
enclosure.getUrl(), 2048));
|
||||||
content.setEnclosureType(enclosure.getType());
|
content.setEnclosureType(enclosure.getType());
|
||||||
}
|
}
|
||||||
entry.setContent(content);
|
entry.setContent(content);
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ import com.commafeed.backend.MetricsBean;
|
|||||||
import com.commafeed.backend.dao.FeedEntryDAO;
|
import com.commafeed.backend.dao.FeedEntryDAO;
|
||||||
import com.commafeed.backend.model.Feed;
|
import com.commafeed.backend.model.Feed;
|
||||||
import com.commafeed.backend.model.FeedEntry;
|
import com.commafeed.backend.model.FeedEntry;
|
||||||
import com.commafeed.backend.model.FeedEntryContent;
|
|
||||||
import com.commafeed.backend.model.FeedPushInfo;
|
import com.commafeed.backend.model.FeedPushInfo;
|
||||||
import com.commafeed.backend.services.ApplicationSettingsService;
|
import com.commafeed.backend.services.ApplicationSettingsService;
|
||||||
import com.commafeed.backend.services.FeedPushInfoService;
|
import com.commafeed.backend.services.FeedPushInfoService;
|
||||||
@@ -110,9 +109,6 @@ public class FeedRefreshWorker {
|
|||||||
.getLastModifiedHeader());
|
.getLastModifiedHeader());
|
||||||
feed.setEtagHeader(fetchedFeed.getFeed().getEtagHeader());
|
feed.setEtagHeader(fetchedFeed.getFeed().getEtagHeader());
|
||||||
|
|
||||||
for (FeedEntry entry : entries) {
|
|
||||||
handleEntry(feed, entry);
|
|
||||||
}
|
|
||||||
handlePubSub(feed, fetchedFeed);
|
handlePubSub(feed, fetchedFeed);
|
||||||
|
|
||||||
} catch (NotModifiedException e) {
|
} catch (NotModifiedException e) {
|
||||||
@@ -145,18 +141,6 @@ public class FeedRefreshWorker {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleEntry(Feed feed, FeedEntry entry) {
|
|
||||||
String baseUri = feed.getLink();
|
|
||||||
FeedEntryContent content = entry.getContent();
|
|
||||||
content.setEnclosureUrl(FeedUtils.truncate(content.getEnclosureUrl(),
|
|
||||||
2048));
|
|
||||||
content.setContent(FeedUtils.handleContent(content.getContent(),
|
|
||||||
baseUri));
|
|
||||||
String title = FeedUtils.handleContent(content.getTitle(), baseUri);
|
|
||||||
content.setTitle(FeedUtils.truncate(title, 2048));
|
|
||||||
entry.setAuthor(FeedUtils.truncate(entry.getAuthor(), 128));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void handlePubSub(Feed feed, FetchedFeed fetchedFeed) {
|
private void handlePubSub(Feed feed, FetchedFeed fetchedFeed) {
|
||||||
String hub = fetchedFeed.getHub();
|
String hub = fetchedFeed.getHub();
|
||||||
String topic = fetchedFeed.getTopic();
|
String topic = fetchedFeed.getTopic();
|
||||||
|
|||||||
Reference in New Issue
Block a user