From 0d932e9db93bbe8db142cda84e819cebbf2f766f Mon Sep 17 00:00:00 2001 From: Pankaj Phartiyal Date: Tue, 23 Sep 2014 15:16:39 +0530 Subject: [PATCH] Detect language code in RSS feed format --- Classes/MWFeedInfo.h | 1 + Classes/MWFeedInfo.m | 4 +++- Classes/MWFeedParser.m | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Classes/MWFeedInfo.h b/Classes/MWFeedInfo.h index 3473071..b53f538 100644 --- a/Classes/MWFeedInfo.h +++ b/Classes/MWFeedInfo.h @@ -42,5 +42,6 @@ @property (nonatomic, copy) NSString *link; @property (nonatomic, copy) NSString *summary; @property (nonatomic, copy) NSURL *url; +@property (nonatomic, copy) NSString *language; @end diff --git a/Classes/MWFeedInfo.m b/Classes/MWFeedInfo.m index d762318..d3891f6 100644 --- a/Classes/MWFeedInfo.m +++ b/Classes/MWFeedInfo.m @@ -33,7 +33,7 @@ @implementation MWFeedInfo -@synthesize title, link, summary, url; +@synthesize title, link, summary, url, language; #pragma mark NSObject @@ -54,6 +54,7 @@ - (id)initWithCoder:(NSCoder *)decoder { link = [decoder decodeObjectForKey:@"link"]; summary = [decoder decodeObjectForKey:@"summary"]; url = [decoder decodeObjectForKey:@"url"]; + language = [decoder decodeObjectForKey:@"language"]; } return self; } @@ -63,6 +64,7 @@ - (void)encodeWithCoder:(NSCoder *)encoder { if (link) [encoder encodeObject:link forKey:@"link"]; if (summary) [encoder encodeObject:summary forKey:@"summary"]; if (url) [encoder encodeObject:url forKey:@"url"]; + if (language) [encoder encodeObject:language forKey:@"language"]; } @end diff --git a/Classes/MWFeedParser.m b/Classes/MWFeedParser.m index 7d900ad..bbfcc8e 100644 --- a/Classes/MWFeedParser.m +++ b/Classes/MWFeedParser.m @@ -610,6 +610,7 @@ - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName if ([currentPath isEqualToString:@"/rss/channel/title"]) { if (processedText.length > 0) info.title = processedText; processed = YES; } else if ([currentPath isEqualToString:@"/rss/channel/description"]) { if (processedText.length > 0) info.summary = processedText; processed = YES; } else if ([currentPath isEqualToString:@"/rss/channel/link"]) { if (processedText.length > 0) info.link = processedText; processed = YES; } + else if ([currentPath isEqualToString:@"/rss/channel/language"] || [currentPath isEqualToString:@"/rss/channel/dc:language"]) { if (processedText.length > 0) info.language = processedText; processed = YES; } } break;