summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/de/danoeh/antennapod/syndication/namespace/NSRSS20.java15
-rw-r--r--tests/src/de/danoeh/antennapod/test/TestFeeds.java1
2 files changed, 14 insertions, 2 deletions
diff --git a/src/de/danoeh/antennapod/syndication/namespace/NSRSS20.java b/src/de/danoeh/antennapod/syndication/namespace/NSRSS20.java
index 4d0b42132..5a2c6005e 100644
--- a/src/de/danoeh/antennapod/syndication/namespace/NSRSS20.java
+++ b/src/de/danoeh/antennapod/syndication/namespace/NSRSS20.java
@@ -78,6 +78,15 @@ public class NSRSS20 extends Namespace {
@Override
public void handleElementEnd(String localName, HandlerState state) {
if (localName.equals(ITEM)) {
+ if (state.getCurrentItem() != null) {
+ // the title tag is optional in RSS 2.0. The description is used
+ // as a
+ // title if the item has no title-tag.
+ if (state.getCurrentItem().getTitle() == null) {
+ state.getCurrentItem().setTitle(
+ state.getCurrentItem().getDescription());
+ }
+ }
state.setCurrentItem(null);
} else if (state.getTagstack().size() >= 2
&& state.getContentBuf() != null) {
@@ -98,7 +107,8 @@ public class NSRSS20 extends Namespace {
state.getCurrentItem().setTitle(content);
} else if (second.equals(CHANNEL)) {
state.getFeed().setTitle(content);
- } else if (second.equals(IMAGE) && third != null && third.equals(CHANNEL)) {
+ } else if (second.equals(IMAGE) && third != null
+ && third.equals(CHANNEL)) {
state.getFeed().getImage().setTitle(content);
}
} else if (top.equals(LINK)) {
@@ -110,7 +120,8 @@ public class NSRSS20 extends Namespace {
} else if (top.equals(PUBDATE) && second.equals(ITEM)) {
state.getCurrentItem().setPubDate(
SyndDateUtils.parseRFC822Date(content));
- } else if (top.equals(URL) && second.equals(IMAGE) && third != null && third.equals(CHANNEL)) {
+ } else if (top.equals(URL) && second.equals(IMAGE) && third != null
+ && third.equals(CHANNEL)) {
state.getFeed().getImage().setDownload_url(content);
} else if (localName.equals(DESCR)) {
if (second.equals(CHANNEL)) {
diff --git a/tests/src/de/danoeh/antennapod/test/TestFeeds.java b/tests/src/de/danoeh/antennapod/test/TestFeeds.java
index 576a8ddd9..8b754fea6 100644
--- a/tests/src/de/danoeh/antennapod/test/TestFeeds.java
+++ b/tests/src/de/danoeh/antennapod/test/TestFeeds.java
@@ -3,6 +3,7 @@ package de.danoeh.antennapod.test;
public class TestFeeds {
public static final String[] urls = {
+ "http://savoirsenmultimedia.ens.fr/podcast.php?id=30",
"http://bitlove.org/apollo40/ps3newsroom/feed",
"http://bitlove.org/beapirate/hauptstadtpiraten/feed",
"http://bitlove.org/benni/besondereumstaende/feed",