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