From 42d139f07269643abc9546d5eea3911a59c75479 Mon Sep 17 00:00:00 2001 From: Jocelyn Harrington Date: Thu, 29 Jan 2015 01:22:50 -0800 Subject: [PATCH 1/2] Add imageURL to the item. --- Classes/MWFeedItem.h | 4 ++-- Classes/MWFeedItem.m | 4 +++- Classes/MWFeedParser.m | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Classes/MWFeedItem.h b/Classes/MWFeedItem.h index 47bea85..06a9be3 100644 --- a/Classes/MWFeedItem.h +++ b/Classes/MWFeedItem.h @@ -39,7 +39,7 @@ NSString *summary; // Description of item NSString *content; // More detailed content (if available) NSString *author; // Item author - + NSString *imageURL; // Image URL // Enclosures: Holds 1 or more item enclosures (i.e. podcasts, mp3. pdf, etc) // - NSArray of NSDictionaries with the following keys: // url: where the enclosure is located (NSString) @@ -58,5 +58,5 @@ @property (nonatomic, copy) NSString *content; @property (nonatomic, copy) NSString *author; @property (nonatomic, copy) NSArray *enclosures; - +@property (nonatomic, copy) NSString *imageURL; @end diff --git a/Classes/MWFeedItem.m b/Classes/MWFeedItem.m index 7ccb7e4..8b4efba 100644 --- a/Classes/MWFeedItem.m +++ b/Classes/MWFeedItem.m @@ -33,7 +33,7 @@ @implementation MWFeedItem -@synthesize identifier, title, link, date, updated, summary, content, author, enclosures; +@synthesize identifier, title, link, date, updated, summary, content, author, enclosures, imageURL; #pragma mark NSObject @@ -60,6 +60,7 @@ - (id)initWithCoder:(NSCoder *)decoder { content = [decoder decodeObjectForKey:@"content"]; author = [decoder decodeObjectForKey:@"author"]; enclosures = [decoder decodeObjectForKey:@"enclosures"]; + imageURL = [decoder decodeObjectForKey:@"imageURL"]; } return self; } @@ -73,6 +74,7 @@ - (void)encodeWithCoder:(NSCoder *)encoder { if (summary) [encoder encodeObject:summary forKey:@"summary"]; if (content) [encoder encodeObject:content forKey:@"content"]; if (author) [encoder encodeObject:author forKey:@"author"]; + if (imageURL) [encoder encodeObject:imageURL forKey:@"imageURL"]; if (enclosures) [encoder encodeObject:enclosures forKey:@"enclosures"]; } diff --git a/Classes/MWFeedParser.m b/Classes/MWFeedParser.m index 7d900ad..2d01e48 100644 --- a/Classes/MWFeedParser.m +++ b/Classes/MWFeedParser.m @@ -603,6 +603,7 @@ - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName else if ([currentPath isEqualToString:@"/rss/channel/item/pubDate"]) { if (processedText.length > 0) item.date = [NSDate dateFromInternetDateTimeString:processedText formatHint:DateFormatHintRFC822]; processed = YES; } else if ([currentPath isEqualToString:@"/rss/channel/item/enclosure"]) { [self createEnclosureFromAttributes:currentElementAttributes andAddToItem:item]; processed = YES; } else if ([currentPath isEqualToString:@"/rss/channel/item/dc:date"]) { if (processedText.length > 0) item.date = [NSDate dateFromInternetDateTimeString:processedText formatHint:DateFormatHintRFC3339]; processed = YES; } + else if ([currentPath isEqualToString:@"/rss/channel/item/image/url"]) { if (processedText.length > 0) item.imageURL = processedText; processed = YES; } } // Info From c92cb358d717795c96af4a4734a56775513e0338 Mon Sep 17 00:00:00 2001 From: Jocelyn Harrington Date: Thu, 29 Jan 2015 02:22:06 -0800 Subject: [PATCH 2/2] Fix the image thumbnail parsing. --- Classes/MWFeedParser.m | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Classes/MWFeedParser.m b/Classes/MWFeedParser.m index 2d01e48..460861a 100644 --- a/Classes/MWFeedParser.m +++ b/Classes/MWFeedParser.m @@ -603,7 +603,9 @@ - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName else if ([currentPath isEqualToString:@"/rss/channel/item/pubDate"]) { if (processedText.length > 0) item.date = [NSDate dateFromInternetDateTimeString:processedText formatHint:DateFormatHintRFC822]; processed = YES; } else if ([currentPath isEqualToString:@"/rss/channel/item/enclosure"]) { [self createEnclosureFromAttributes:currentElementAttributes andAddToItem:item]; processed = YES; } else if ([currentPath isEqualToString:@"/rss/channel/item/dc:date"]) { if (processedText.length > 0) item.date = [NSDate dateFromInternetDateTimeString:processedText formatHint:DateFormatHintRFC3339]; processed = YES; } - else if ([currentPath isEqualToString:@"/rss/channel/item/image/url"]) { if (processedText.length > 0) item.imageURL = processedText; processed = YES; } + else if ([currentPath isEqualToString:@"/rss/channel/item/media:thumbnail"]) {if ([self.currentElementAttributes objectForKey:@"url"]) + item.imageURL = self.currentElementAttributes[@"url"]; + processed = YES; } } // Info