Revision: 25181
          http://sourceforge.net/p/bibdesk/svn/25181
Author:   hofman
Date:     2020-12-11 15:49:48 +0000 (Fri, 11 Dec 2020)
Log Message:
-----------
No separate method to validate a unique string, it is now called in only one 
place

Modified Paths:
--------------
    trunk/bibdesk/BDSKFormatParser.m

Modified: trunk/bibdesk/BDSKFormatParser.m
===================================================================
--- trunk/bibdesk/BDSKFormatParser.m    2020-12-11 15:32:57 UTC (rev 25180)
+++ trunk/bibdesk/BDSKFormatParser.m    2020-12-11 15:49:48 UTC (rev 25181)
@@ -77,8 +77,6 @@
                prefix:(NSString *)prefix
                suffix:(NSString *)suffix;
 
-+ (BOOL)stringIsValid:(NSString *)proposedStr forField:(NSString *)fieldName 
ofItem:(id <BDSKParseableItem>)pub inFolder:(NSURL *)papersFolderURL;
-
 + (NSString *)stringBySanitizingString:(NSString *)string forField:(NSString 
*)fieldName;
 + (NSString *)stringByStrictlySanitizingString:(NSString *)string 
forField:(NSString *)fieldName;
 
@@ -842,6 +840,7 @@
                 NSString *str = uniqueString(chars, count, ++i);
                 if (str) return str;
             }
+            return nil;
         } else {
             NSMutableString *str = [NSMutableString stringWithString:baseStr];
             if (count) {
@@ -850,10 +849,16 @@
                 if (suffix) [str appendString:suffix];
             }
             [str appendString:endStr];
-            if ([self stringIsValid:str forField:fieldName ofItem:pub 
inFolder:papersFolderURL])
+            // validate te result
+            if ([NSString isEmptyString:str])
+                return nil;
+            else if ([fieldName isEqualToString:BDSKCiteKeyString])
+                return [pub isValidCiteKey:str] ? str : nil;
+            else if ([fieldName isGeneralLocalFileField])
+                return [[papersFolderURL URLByAppendingPathComponent:str] 
checkResourceIsReachableAndReturnError:NULL] ? nil : str;
+            else
                 return str;
         }
-        return nil;
     };
     
     NSUInteger n = number;
@@ -946,28 +951,6 @@
     return YES;
 }
 
-// this might be changed when more fields are available
-// do we want to add character checks as in CiteKeyFormatter?
-+ (BOOL)stringIsValid:(NSString *)proposedStr forField:(NSString *)fieldName 
ofItem:(id <BDSKParseableItem>)pub inFolder:(NSURL *)papersFolderURL
-{
-       if ([fieldName isEqualToString:BDSKCiteKeyString]) {
-               return [pub isValidCiteKey:proposedStr];
-       }
-       else if ([fieldName isGeneralLocalFileField]) {
-               if ([NSString isEmptyString:proposedStr])
-            return NO;
-        return ([[papersFolderURL URLByAppendingPathComponent:proposedStr] 
checkResourceIsReachableAndReturnError:NULL] == NO);
-       }
-       else if ([fieldName isRemoteURLField]) {
-               if ([NSString isEmptyString:proposedStr])
-                       return NO;
-               return YES;
-       }
-       else {
-               return YES;
-       }
-}
-
 + (NSString *)stringBySanitizingString:(NSString *)string forField:(NSString 
*)fieldName
 {
        NSCharacterSet *invalidCharSet = [[BDSKTypeManager sharedManager] 
invalidCharactersForField:fieldName];

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

Reply via email to