Revision: 27234
          http://sourceforge.net/p/bibdesk/svn/27234
Author:   hofman
Date:     2022-01-17 10:36:35 +0000 (Mon, 17 Jan 2022)
Log Message:
-----------
Only get deprecated arguments for parse format command when passing them

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

Modified: trunk/bibdesk/BDSKParseFormatCommand.m
===================================================================
--- trunk/bibdesk/BDSKParseFormatCommand.m      2022-01-17 10:03:25 UTC (rev 
27233)
+++ trunk/bibdesk/BDSKParseFormatCommand.m      2022-01-17 10:36:35 UTC (rev 
27234)
@@ -57,15 +57,9 @@
     id spec = [[self arguments] objectForKey:@"for"];
        NSString *field = nil;
        BibItem *pub = nil;
-    BibItem *fromPub = [params objectForKey:@"from"];
-    NSNumber *indexNumber = [params objectForKey:@"index"];
     NSInteger i = 0;
     
-       if (formatString == nil || params == nil) {
-               [self 
setScriptErrorNumber:NSRequiredArgumentsMissingScriptError]; 
-               return nil;
-       }
-       if ([formatString isKindOfClass:[NSString class]] == NO) {
+       if (formatString == nil || [formatString isKindOfClass:[NSString 
class]] == NO) {
                [self setScriptErrorNumber:NSArgumentsWrongScriptError]; 
                return nil;
        }
@@ -72,22 +66,12 @@
        
     if ([spec isKindOfClass:[NSScriptObjectSpecifier class]]) {
         // preferred format, reference to the cite key, a field, or a linked 
file
-        if (indexNumber) {
-            [self setScriptErrorNumber:NSArgumentsWrongScriptError];
-            [self setScriptErrorString:@"Cannot pass both a specifier and an 
index."];
-            return nil;
-        }
-        if (fromPub) {
-            [self setScriptErrorNumber:NSArgumentsWrongScriptError];
-            [self setScriptErrorString:@"Cannot pass both a specifier and a 
publication."];
-            return nil;
-        }
         if ([spec isKindOfClass:[NSPropertySpecifier class]] && [[spec key] 
isEqualToString:@"scriptingCiteKey"]) {
             pub = [[spec containerSpecifier] objectsByEvaluatingSpecifier];
             field = BDSKCiteKeyString;
         } else if ([spec isKindOfClass:[NSNameSpecifier class]] && [[spec key] 
isEqualToString:@"bibFields"]) {
             pub = [[spec containerSpecifier] objectsByEvaluatingSpecifier];
-            field = [(NSNameSpecifier *)spec name];
+            field = [[(NSNameSpecifier *)spec name] fieldName];
         } else if (([spec isKindOfClass:[NSIndexSpecifier class]] || [spec 
isKindOfClass:[NSMiddleSpecifier class]] || [spec 
isKindOfClass:[NSRelativeSpecifier class]] || [spec 
isKindOfClass:[NSRandomSpecifier class]]) && [[spec key] 
isEqualToString:@"linkedFiles"]) {
             pub = [[spec containerSpecifier] objectsByEvaluatingSpecifier];
             field = BDSKLocalFileString;
@@ -111,6 +95,8 @@
         }
     } else {
         // deprecated format, a field name, or a file index, with the pub in 
'from'
+        BibItem *fromPub = [params objectForKey:@"from"];
+        NSNumber *indexNumber = [params objectForKey:@"index"];
         pub = fromPub ?: [[self subjectSpecifier] 
objectsByEvaluatingSpecifier];
         field = [params objectForKey:@"for"] ?: BDSKLocalFileString;
         i = indexNumber ? [indexNumber integerValue] - 1 : 0;
@@ -132,7 +118,8 @@
         return nil;
     }
     
-    if ([field isEqualToString:BDSKCiteKeyString] == NO && [field 
isEqualToString:BDSKLocalFileString] == NO)         field = [field fieldName];
+    if ([field isEqualToString:BDSKCiteKeyString] == NO && [field 
isEqualToString:BDSKLocalFileString] == NO)
+        field = [field fieldName];
     
        NSString *error = nil;
     

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