Revision: 24016
http://sourceforge.net/p/bibdesk/svn/24016
Author: hofman
Date: 2019-07-13 21:15:52 +0000 (Sat, 13 Jul 2019)
Log Message:
-----------
ignore too many duplicate fields for RIS parser
Modified Paths:
--------------
trunk/bibdesk/BDSKPubMedParser.m
trunk/bibdesk/BDSKRISParser.m
trunk/bibdesk/BDSKReferParser.m
Modified: trunk/bibdesk/BDSKPubMedParser.m
===================================================================
--- trunk/bibdesk/BDSKPubMedParser.m 2019-07-13 21:10:16 UTC (rev 24015)
+++ trunk/bibdesk/BDSKPubMedParser.m 2019-07-13 21:15:52 UTC (rev 24016)
@@ -201,7 +201,7 @@
NSString *collapsedWhitespaceString = (NSString
*)BDStringCreateByCollapsingAndTrimmingCharactersInSet(NULL,
(CFStringRef)newString, (CFCharacterSetRef)[NSCharacterSet
whitespaceCharacterSet]);
[newString release];
newString = collapsedWhitespaceString;
- } else if(([key isSingleValuedField] && [key
isEqualToString:BDSKAddressString] == NO) || [key isURLField]) {
+ } else if(([key isSingleValuedField] || [key isURLField]) && [key
isEqualToString:BDSKAddressString] == NO) {
// for single valued and URL fields, create a new field name
NSInteger i = 1;
NSString *newKey = [key stringByAppendingFormat:@"%ld", (long)i];
Modified: trunk/bibdesk/BDSKRISParser.m
===================================================================
--- trunk/bibdesk/BDSKRISParser.m 2019-07-13 21:10:16 UTC (rev 24015)
+++ trunk/bibdesk/BDSKRISParser.m 2019-07-13 21:15:52 UTC (rev 24016)
@@ -175,7 +175,7 @@
[newString release];
newString = collapsedWhitespaceString;
}
- } else if(([key isSingleValuedField] || [key isURLField]) && [key
isEqualToString:BDSKAnnoteString] == NO && [key
isEqualToString:BDSKAbstractString] == NO) {
+ } else if(([key isSingleValuedField] || [key isURLField]) && [key
isEqualToString:BDSKAddressString] == NO && [key
isEqualToString:BDSKAnnoteString] == NO && [key
isEqualToString:BDSKAbstractString] == NO) {
// for single valued and URL fields, create a new field name
NSInteger i = 1;
NSString *newKey = [key stringByAppendingFormat:@"%ld", (long)i];
@@ -182,6 +182,13 @@
while ([pubDict objectForKey:newKey] != nil) {
i++;
newKey = [key stringByAppendingFormat:@"%ld", (long)i];
+ // don't add too many fields as btparse can't handle that
+ // for instance there may be one address for every authors and
there can be a lot
+ if (i > 20) {
+ // just ignore them, should not be too important
+ value = nil;
+ break;
+ }
}
key = newKey;
newString = [value copy];
Modified: trunk/bibdesk/BDSKReferParser.m
===================================================================
--- trunk/bibdesk/BDSKReferParser.m 2019-07-13 21:10:16 UTC (rev 24015)
+++ trunk/bibdesk/BDSKReferParser.m 2019-07-13 21:15:52 UTC (rev 24016)
@@ -104,7 +104,7 @@
NSString *collapsedWhitespaceString = (NSString
*)BDStringCreateByCollapsingAndTrimmingCharactersInSet(NULL,
(CFStringRef)newString, (CFCharacterSetRef)[NSCharacterSet
whitespaceCharacterSet]);
[newString release];
newString = collapsedWhitespaceString;
- } else if(([key isSingleValuedField] && [key
isEqualToString:BDSKAddressString] == NO) || [key isURLField]) {
+ } else if(([key isSingleValuedField] || [key isURLField]) && [key
isEqualToString:BDSKAddressString] == NO) {
// for single valued and URL fields, create a new field name
NSInteger i = 1;
NSString *newKey = [key stringByAppendingFormat:@"%ld", (long)i];
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit