Revision: 22559
http://sourceforge.net/p/bibdesk/svn/22559
Author: hofman
Date: 2018-09-05 21:13:58 +0000 (Wed, 05 Sep 2018)
Log Message:
-----------
Don't add Url field in web parsers only when auto removing remote URL fields
Modified Paths:
--------------
trunk/bibdesk/BDSKArxivParser.m
trunk/bibdesk/BDSKAsynchronousWebParser.m
trunk/bibdesk/BDSKCOinSParser.m
trunk/bibdesk/BDSKIACRParser.m
trunk/bibdesk/BDSKMathSciNetParser.m
trunk/bibdesk/BDSKNumdamParser.m
trunk/bibdesk/BDSKProjectEuclidParser.m
trunk/bibdesk/BDSKSpringerParser.m
trunk/bibdesk/BDSKZentralblattParser.m
Modified: trunk/bibdesk/BDSKArxivParser.m
===================================================================
--- trunk/bibdesk/BDSKArxivParser.m 2018-09-05 06:30:35 UTC (rev 22558)
+++ trunk/bibdesk/BDSKArxivParser.m 2018-09-05 21:13:58 UTC (rev 22559)
@@ -153,7 +153,9 @@
AGRegex *journalRegex3 = [AGRegex
regexWithPattern:@"(.+[^0-9])([0-9]+):(.*),([0-9]{4})"
options:AGRegexMultiline];
- BOOL addLinkedFiles = NO == [[NSUserDefaults standardUserDefaults]
boolForKey:BDSKUseLocalUrlAndUrlKey];
+ NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
+ BOOL addLinkedFiles = NO == [sud boolForKey:BDSKUseLocalUrlAndUrlKey];
+ BOOL addUrlField = addLinkedFiles == NO || [sud
boolForKey:BDSKAutomaticallyConvertURLFieldsKey] == NO || [sud
boolForKey:BDSKRemoveConvertedRemoteURLFieldsKey] == NO;
NSMutableArray *items = [NSMutableArray arrayWithCapacity:0];
@@ -185,7 +187,8 @@
// fix relative urls
if (NO == [string containsString:@"://"])
string = [[NSURL URLWithString:string relativeToURL:url]
absoluteString];
- [pubFields setValue:string forKey:BDSKUrlString];
+ if (addUrlField)
+ [pubFields setValue:string forKey:BDSKUrlString];
if (addLinkedFiles)
[pubFiles addObject:[BDSKLinkedFile
linkedFileWithURLString:string]];
}
@@ -199,7 +202,8 @@
// fix relative urls
if (NO == [string containsString:@"://"])
string = [[NSURL URLWithString:string relativeToURL:url]
absoluteString];
- [pubFields setValue:string forKey:BDSKUrlString];
+ if (addUrlField)
+ [pubFields setValue:string forKey:BDSKUrlString];
if (addLinkedFiles)
[pubFiles addObject:[BDSKLinkedFile
linkedFileWithURLString:string]];
}
Modified: trunk/bibdesk/BDSKAsynchronousWebParser.m
===================================================================
--- trunk/bibdesk/BDSKAsynchronousWebParser.m 2018-09-05 06:30:35 UTC (rev
22558)
+++ trunk/bibdesk/BDSKAsynchronousWebParser.m 2018-09-05 21:13:58 UTC (rev
22559)
@@ -158,11 +158,13 @@
NSArray *bibtexItems = [self itemsFromBibTeXString:bibtexString
error:outError];
BibItem *bibtexItem;
- if ([[download contextInfo] isKindOfClass:[NSString class]] &&
- (bibtexItem = [bibtexItems firstObject]) &&
- [NSString isEmptyString:[bibtexItem valueOfField:BDSKUrlString
inherit:NO]]) {
- [bibtexItem setField:BDSKUrlString toValue:[download contextInfo]];
- if (NO == [[NSUserDefaults standardUserDefaults]
boolForKey:BDSKUseLocalUrlAndUrlKey])
+ if ([[download contextInfo] isKindOfClass:[NSString class]] && (bibtexItem
= [bibtexItems firstObject])) {
+ NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
+ BOOL addLinkedFiles = NO == [sud boolForKey:BDSKUseLocalUrlAndUrlKey];
+ BOOL addUrlField = addLinkedFiles == NO || [sud
boolForKey:BDSKAutomaticallyConvertURLFieldsKey] == NO || [sud
boolForKey:BDSKRemoveConvertedRemoteURLFieldsKey] == NO;
+ if (addUrlField && [NSString isEmptyString:[bibtexItem
valueOfField:BDSKUrlString inherit:NO]])
+ [bibtexItem setField:BDSKUrlString toValue:[download contextInfo]];
+ if (addLinkedFiles)
[bibtexItem addFileForURL:[NSURL URLWithString:[download
contextInfo]] autoFile:NO runScriptHook:NO];
}
Modified: trunk/bibdesk/BDSKCOinSParser.m
===================================================================
--- trunk/bibdesk/BDSKCOinSParser.m 2018-09-05 06:30:35 UTC (rev 22558)
+++ trunk/bibdesk/BDSKCOinSParser.m 2018-09-05 21:13:58 UTC (rev 22559)
@@ -115,8 +115,10 @@
NSString * auLast = nil;
NSString * auInitials = nil;
NSString * auSuffix = nil;
- BOOL addLinkedFiles = NO == [[NSUserDefaults standardUserDefaults]
boolForKey:BDSKUseLocalUrlAndUrlKey];
-
+ NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
+ BOOL addLinkedFiles = NO == [sud boolForKey:BDSKUseLocalUrlAndUrlKey];
+ BOOL addUrlField = addLinkedFiles == NO || [sud
boolForKey:BDSKAutomaticallyConvertURLFieldsKey] == NO || [sud
boolForKey:BDSKRemoveConvertedRemoteURLFieldsKey] == NO;
+
for (NSString *component in components) {
NSArray * keyValue = [component
componentsSeparatedByString:@"="];
if ([keyValue count] == 2 ) {
@@ -222,7 +224,8 @@
NSURL * URL = [NSURL URLWithString:value];
if (URL && ([@"http"
isCaseInsensitiveEqual:[URL scheme]] || [@"https" isCaseInsensitiveEqual:[URL
scheme]])) {
// add http/https URLs to the FileView items only, rather
than the Url field. This lets us process more than one of them and avoid adding
links to library catalogue entries to the BibTeX record. I haven't seen other
usable URL typese yet.
- [fieldsDict setObject:value forKey:BDSKUrlString];
+ if (addUrlField)
+ [fieldsDict setObject:value forKey:BDSKUrlString];
if (addLinkedFiles)
[files addObject:[BDSKLinkedFile linkedFileWithURL:URL
delegate:nil]];
}
Modified: trunk/bibdesk/BDSKIACRParser.m
===================================================================
--- trunk/bibdesk/BDSKIACRParser.m 2018-09-05 06:30:35 UTC (rev 22558)
+++ trunk/bibdesk/BDSKIACRParser.m 2018-09-05 21:13:58 UTC (rev 22559)
@@ -71,7 +71,9 @@
// is this a search results page or an individual article?
BOOL isSearch = [[[url path] lowercaseString]
isEqualToString:@"/cgi-bin/search.pl"];
- BOOL addLinkedFiles = NO == [[NSUserDefaults standardUserDefaults]
boolForKey:BDSKUseLocalUrlAndUrlKey];
+ NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
+ BOOL addLinkedFiles = NO == [sud boolForKey:BDSKUseLocalUrlAndUrlKey];
+ BOOL addUrlField = addLinkedFiles == NO || [sud
boolForKey:BDSKAutomaticallyConvertURLFieldsKey] == NO || [sud
boolForKey:BDSKRemoveConvertedRemoteURLFieldsKey] == NO;
// construct the source item(s) to parse
NSArray *sources = nil;
@@ -133,7 +135,8 @@
if ((year != nil) && (reportNum != nil)) {
[pubFields setValue:year forKey:BDSKYearString];
[pubFields setValue:[NSString
stringWithFormat:@"Cryptology ePrint Archive, Report %@/%@", year, reportNum]
forKey:@"Note"];
- [pubFields setValue:[urlBaseString
stringByAppendingPathExtension:@"pdf"] forKey:BDSKUrlString];
+ if (addUrlField)
+ [pubFields setValue:[urlBaseString
stringByAppendingPathExtension:@"pdf"] forKey:BDSKUrlString];
if (addLinkedFiles) {
filesArray = [NSArray arrayWithObjects:
[BDSKLinkedFile linkedFileWithURL:[NSURL
URLWithString:[urlBaseString stringByAppendingPathExtension:@"pdf"]]
delegate:nil],
Modified: trunk/bibdesk/BDSKMathSciNetParser.m
===================================================================
--- trunk/bibdesk/BDSKMathSciNetParser.m 2018-09-05 06:30:35 UTC (rev
22558)
+++ trunk/bibdesk/BDSKMathSciNetParser.m 2018-09-05 21:13:58 UTC (rev
22559)
@@ -164,11 +164,15 @@
}
// Add a URL reference pointing to the review's web page to each record.
- BOOL addLinkedFiles = [[NSUserDefaults standardUserDefaults]
boolForKey:BDSKUseLocalUrlAndUrlKey];
+ NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
+ BOOL addLinkedFiles = NO == [sud boolForKey:BDSKUseLocalUrlAndUrlKey];
+ BOOL addUrlField = addLinkedFiles == NO || [sud
boolForKey:BDSKAutomaticallyConvertURLFieldsKey] == NO || [sud
boolForKey:BDSKRemoveConvertedRemoteURLFieldsKey] == NO;
+
for (BibItem * item in results) {
NSString * MRNumber = [[item citeKey] stringByRemovingPrefix:@"MR"];
NSURL * MRItemURL = [[NSURL URLWithString:[@"/mathscinet-getitem?mr="
stringByAppendingString:MRNumber] relativeToURL:[download URL]] absoluteURL];
- [item setField:BDSKUrlString toValue:[MRItemURL absoluteString]];
+ if (addUrlField)
+ [item setField:BDSKUrlString toValue:[MRItemURL absoluteString]];
if (addLinkedFiles)
[item addFileForURL:MRItemURL autoFile:NO runScriptHook:NO];
}
Modified: trunk/bibdesk/BDSKNumdamParser.m
===================================================================
--- trunk/bibdesk/BDSKNumdamParser.m 2018-09-05 06:30:35 UTC (rev 22558)
+++ trunk/bibdesk/BDSKNumdamParser.m 2018-09-05 21:13:58 UTC (rev 22559)
@@ -148,7 +148,10 @@
if ([results count] > 0 && content != nil) {
// add Numdam URL to item's own record
BibItem *item = [results objectAtIndex:0];
- BOOL addLinkedFiles = NO == [[NSUserDefaults standardUserDefaults]
boolForKey:BDSKUseLocalUrlAndUrlKey];
+ NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
+ BOOL addLinkedFiles = NO == [sud boolForKey:BDSKUseLocalUrlAndUrlKey];
+ BOOL addUrlField = addLinkedFiles == NO || [sud
boolForKey:BDSKAutomaticallyConvertURLFieldsKey] == NO || [sud
boolForKey:BDSKRemoveConvertedRemoteURLFieldsKey] == NO;
+
if ( [item isKindOfClass:[BibItem class]] ) {
AGRegex * URLRegexp = [AGRegex regexWithPattern:@"stable URL:
([a-zA-Z0-9:=./?_]*)" options:0];
AGRegexMatch * match = [URLRegexp findInString:content];
@@ -156,7 +159,7 @@
NSString * myURLString = [[match string]
substringWithRange:[match rangeAtIndex:1]];
NSURL * myURL = [NSURL URLWithString:myURLString];
if ( myURL ) {
- if ([NSString isEmptyString:[(BibItem *)item
valueOfField:BDSKUrlString]])
+ if ( addUrlField && [NSString isEmptyString:[(BibItem
*)item valueOfField:BDSKUrlString]] )
[(BibItem *)item setField:BDSKUrlString toValue:[myURL
absoluteString]];
if ( addLinkedFiles && [(BibItem *)item
addFileForURL:myURL autoFile:NO runScriptHook:NO] ) {
NSIndexSet * indexSet = [NSIndexSet
indexSetWithIndex:[(BibItem *)item countOfFiles] - 1];
Modified: trunk/bibdesk/BDSKProjectEuclidParser.m
===================================================================
--- trunk/bibdesk/BDSKProjectEuclidParser.m 2018-09-05 06:30:35 UTC (rev
22558)
+++ trunk/bibdesk/BDSKProjectEuclidParser.m 2018-09-05 21:13:58 UTC (rev
22559)
@@ -139,7 +139,10 @@
if ([results count] > 0 && myIdentifier != nil) {
// add Project Euclid URL to item's own record
NSObject * item = [results objectAtIndex:0];
- BOOL addLinkedFiles = NO == [[NSUserDefaults standardUserDefaults]
boolForKey:BDSKUseLocalUrlAndUrlKey];
+ NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
+ BOOL addLinkedFiles = NO == [sud boolForKey:BDSKUseLocalUrlAndUrlKey];
+ BOOL addUrlField = addLinkedFiles == NO || [sud
boolForKey:BDSKAutomaticallyConvertURLFieldsKey] == NO || [sud
boolForKey:BDSKRemoveConvertedRemoteURLFieldsKey] == NO;
+
if ( [item isKindOfClass:[BibItem class]] ) {
AGRegex * ProjectEuclidRegexp = [AGRegex
regexWithPattern:@"(https://projecteuclid.org/[^\\s]*)" options:0];
AGRegexMatch * match = [ProjectEuclidRegexp
findInString:myIdentifier];
@@ -147,7 +150,7 @@
NSURL * projectEuclidURL = [NSURL
URLWithString:projectEuclidURLString];
if ( projectEuclidURL ) {
- if ([NSString isEmptyString:[(BibItem *)item
valueOfField:BDSKUrlString]])
+ if ( addUrlField && [NSString isEmptyString:[(BibItem *)item
valueOfField:BDSKUrlString]] )
[(BibItem *)item setField:BDSKUrlString
toValue:[projectEuclidURL absoluteString]];
if ( addLinkedFiles && [(BibItem *)item
addFileForURL:projectEuclidURL autoFile:NO runScriptHook:NO] ) {
NSIndexSet * indexSet = [NSIndexSet
indexSetWithIndex:[(BibItem *)item countOfFiles] - 1];
Modified: trunk/bibdesk/BDSKSpringerParser.m
===================================================================
--- trunk/bibdesk/BDSKSpringerParser.m 2018-09-05 06:30:35 UTC (rev 22558)
+++ trunk/bibdesk/BDSKSpringerParser.m 2018-09-05 21:13:58 UTC (rev 22559)
@@ -156,13 +156,18 @@
}
}
- if ([[NSUserDefaults standardUserDefaults]
boolForKey:BDSKUseLocalUrlAndUrlKey]) {
+ NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
+ BOOL addLinkedFiles = NO == [sud boolForKey:BDSKUseLocalUrlAndUrlKey];
+ BOOL addUrlField = addLinkedFiles == NO || [sud
boolForKey:BDSKAutomaticallyConvertURLFieldsKey] == NO || [sud
boolForKey:BDSKRemoveConvertedRemoteURLFieldsKey] == NO;
+
+ if (addUrlField) {
// URL to PDF
[pubFields setValue:[[NSURL URLWithString:@"fulltext.pdf"
relativeToURL:url] absoluteString] forKey:BDSKUrlString];
// URL to DOI
if (doi != nil)
[pubFields setValue:[@"https://doi.org/"
stringByAppendingString:doi] forKey:BDSKDoiString];
- } else {
+ }
+ if (addLinkedFiles) {
filesArray = [NSMutableArray array];
// URL to PDF
[filesArray addObject:[BDSKLinkedFile linkedFileWithURL:[NSURL
URLWithString:@"fulltext.pdf" relativeToURL:url] delegate:nil]];
Modified: trunk/bibdesk/BDSKZentralblattParser.m
===================================================================
--- trunk/bibdesk/BDSKZentralblattParser.m 2018-09-05 06:30:35 UTC (rev
22558)
+++ trunk/bibdesk/BDSKZentralblattParser.m 2018-09-05 21:13:58 UTC (rev
22559)
@@ -143,7 +143,9 @@
bibTeXString = [umlautFixer replaceWithString:@"{$1}"
inString:bibTeXString];
NSArray * results = [parser itemsFromBibTeXString:bibTeXString
error:outError];
- BOOL addLinkedFiles = NO == [[NSUserDefaults standardUserDefaults]
boolForKey:BDSKUseLocalUrlAndUrlKey];
+ NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
+ BOOL addLinkedFiles = NO == [sud boolForKey:BDSKUseLocalUrlAndUrlKey];
+ BOOL addUrlField = addLinkedFiles == NO || [sud
boolForKey:BDSKAutomaticallyConvertURLFieldsKey] == NO || [sud
boolForKey:BDSKRemoveConvertedRemoteURLFieldsKey] == NO;
// Add a URL reference to the review's web page to each record.
for (BibItem * item in results) {
@@ -150,7 +152,7 @@
NSString * ZMathID = [item citeKey];
NSString * ZMathItemURLString = [NSString
stringWithFormat:@"https://zbmath.org/search/?format=complete&q=an:%@",
ZMathID];
NSURL * ZMathItemURL = [NSURL URLWithString:ZMathItemURLString];
- if ([NSString isEmptyString:[item valueOfField:BDSKUrlString]])
+ if ( addUrlField && [NSString isEmptyString:[item
valueOfField:BDSKUrlString]] )
[item setField:BDSKUrlString toValue:ZMathItemURLString];
if (addLinkedFiles)
[item addFileForURL:ZMathItemURL autoFile:NO runScriptHook:NO];
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit