From: <ho...@us...> - 2006-08-24 18:08:16
|
Revision: 7558 Author: hofman Date: 2006-08-24 11:08:00 -0700 (Thu, 24 Aug 2006) ViewCVS: http://svn.sourceforge.net/bibdesk/?rev=7558&view=rev Log Message: ----------- Fix bug # 1545956. Make sure end tags (ER) are on separate lines. Fixes buggy RIS export from Scopus. Modified Paths: -------------- trunk/bibdesk/PubMedParser.h trunk/bibdesk/PubMedParser.m Modified: trunk/bibdesk/PubMedParser.h =================================================================== --- trunk/bibdesk/PubMedParser.h 2006-08-24 12:06:46 UTC (rev 7557) +++ trunk/bibdesk/PubMedParser.h 2006-08-24 18:08:00 UTC (rev 7558) @@ -52,6 +52,7 @@ @interface NSString (RISExtensions) - (NSString *)stringByFixingRefMinerPubMedTags; - (NSString *)stringByFixingReferenceMinerString; +- (NSString *)stringByFixingScopusEndTags; - (NSString *)stringByConvertingHTMLToTeX; - (NSArray *)sourceLinesBySplittingString; + (NSString *)TeXStringWithHTMLString:(NSString *)htmlString; Modified: trunk/bibdesk/PubMedParser.m =================================================================== --- trunk/bibdesk/PubMedParser.m 2006-08-24 12:06:46 UTC (rev 7557) +++ trunk/bibdesk/PubMedParser.m 2006-08-24 18:08:00 UTC (rev 7558) @@ -117,6 +117,8 @@ if([itemString rangeOfString:@"PMID- " options:0 range:NSMakeRange(0, 10)].location != NSNotFound) itemString = [itemString stringByAddingRISEndTagsToPubMedString]; + itemString = [itemString stringByFixingScopusEndTags]; + BibItem *newBI = nil; NSMutableArray *returnArray = [NSMutableArray arrayWithCapacity:10]; @@ -460,6 +462,13 @@ return [tmpStr stringByAppendingString:@"\r\nER - "]; } +- (NSString *)stringByFixingScopusEndTags; +{ + // Scopus doesn't put the end tag RE on a separate line. + AGRegex *endTag = [AGRegex regexWithPattern:@"([^\r\n])ER - $" options:AGRegexMultiline]; + return [endTag replaceWithString:@"$1\r\nER - " inString:self]; +} + - (NSArray *)sourceLinesBySplittingString; { // ARM: This code came from Art Isbell to cocoa-dev on Tue Jul 10 22:13:11 2001. Comments are his. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |