The download command (in the comments line) should download the linked URL and that as a linked file. This is of course not immediate. Doesn’t that work for you? Is the URL you get correct?
Christiaan > On 27 Oct 2019, at 00:26, Danushka Bollegala <danushka.bolleg...@gmail.com> > wrote: > > Thank you for the quick response. There was a small bug in the script where > the function “fixURL” was called as “fixedURL” within the “using terms > BibDesk” routine. > Fixing this and adding this as an import Publication script hook solved the > issue. I am copying my script for future reference below. > One thing that I wondered was the commented out line "download linked URL 1 > --with replace" > Uncommenting this did not make any difference. What would be the syntax to > download the converted pdf url and link it to the bib entry? > > > > property theURLPrefixes : {"https://www.aclweb.org/anthology/ > <https://www.aclweb.org/anthology/>"} > property thePDFExtension : ".pdf" > > > on hasAnyPrefix(theString, thePrefixes) > repeat with thePrefix in thePrefixes > if theString starts with thePrefix then return true > end repeat > return false > end hasAnyPrefix > > on fixURL(theURL) > if (my hasAnyPrefix(theURL, theURLPrefixes) and theURL does not end > with thePDFExtension) then > if theURL ends with "/" then set theURL to text 1 thru -2 of > theURL > set theURL to theURL & thePDFExtension > end if > return theURL > end fixURL > > using terms from application "BibDesk" > on perform BibDesk action with publications thePubs for script hook > theScriptHook > tell application "BibDesk" > repeat with thePub in thePubs > tell contents of thePub > set theURL to value of field "Url" > set theFixedURL to my fixURL(theURL) > if (theURL is not theFixedURL) then > set value of field "Url" to > theFixedURL > end if > if (count of linked URLs) > 0 then > set theURL to linked URL 1 > set theFixedURL to my > fixURL(theURL) > if (theURL is not theFixedURL) > then > remove theFixedURL > add theFixedURL to > beginning of linked URLs > --download linked URL 1 > --with replace > end if > end if > end tell > end repeat > end tell > end perform BibDesk action with publications > end using terms from > > Best wishes > > Danushka > ______________________________ > Prof. Danushka Bollegala > Head of Data Mining and Machine Learning > Department of Computer Science > University of Liverpool > 224 Ashton Building > Ashton Street > Liverpool L69 3BX > > T +44 151 795 4283 > F +44 151 795 4235 > W danushka.net <http://danushka.net/> > E m...@danushka.net <mailto:m...@danushka.net> > T @Bollegala > > > > >> On 26 Oct 2019, at 22:09, Christiaan Hofman <cmhof...@gmail.com >> <mailto:cmhof...@gmail.com>> wrote: >> >> It should be the Import Publication script hook. How do you add the citation? >> >> Christiaan >> >>> On 26 Oct 2019, at 22:53, Danushka Bollegala <danushka.bolleg...@gmail.com >>> <mailto:danushka.bolleg...@gmail.com>> wrote: >>> >>> Thank you Christian for the script. >>> >>> In order to run this script when I copy a bibtex entry from the >>> aclanthology to bibdesk, to which script hook should I assign it? >>> I tried assigning it to “Import publication” hook but that does not seem to >>> get invoked. >>> If you could kindly clarify how to get the script associated and running >>> that would be great. >>> >>> Thanks in advance >>> >>> Danushka >>> >>> >>>> On 26 Oct 2019, at 14:54, Christiaan Hofman <cmhof...@gmail.com >>>> <mailto:cmhof...@gmail.com>> wrote: >>>> >>>> Here’s an example of such a script hook: >>>> >>>> >>>> >>>>> On 26 Oct 2019, at 15:28, Christiaan Hofman <cmhof...@gmail.com >>>>> <mailto:cmhof...@gmail.com>> wrote: >>>>> >>>>> >>>>> >>>>>> On 25 Oct 2019, at 23:44, Christiaan Hofman <cmhof...@gmail.com >>>>>> <mailto:cmhof...@gmail.com>> wrote: >>>>>> >>>>>> >>>>>> >>>>>>> On 25 Oct 2019, at 23:14, Danushka Bollegala >>>>>>> <danushka.bolleg...@gmail.com <mailto:danushka.bolleg...@gmail.com>> >>>>>>> wrote: >>>>>>> >>>>>>> Thank you for developing BibDesk which is an essential component of my >>>>>>> research workflow! >>>>>>> >>>>>>> I use acl anthology for importing papers into bibdesk. The Url field in >>>>>>> the BibText in acl anthology does not contain .pdf extension. >>>>>>> For example, see https://www.aclweb.org/anthology/N18-2115/ >>>>>>> <https://www.aclweb.org/anthology/N18-2115/> >>>>>>> for which the bibtex entry contains >>>>>>> url = "https://www.aclweb.org/anthology/N18-2115 >>>>>>> <https://www.aclweb.org/anthology/N18-2115>” >>>>>>> Unfortunately, this gets mapped to the Url field in Bibdesk and I >>>>>>> cannot download the pdf but the top page by “Download Urls” menu. >>>>>>> Is there a way (for example a script hook etc.) that would let me >>>>>>> automatically append .pdf to the url field when a bibtex entry is >>>>>>> copied to BibDesk? >>>>>>> Thank you >>>>>>> Danushka >>>>>>> ______________________________ >>>>>>> Prof. Danushka Bollegala >>>>>>> Head of Data Mining and Machine Learning >>>>>>> Department of Computer Science >>>>>>> University of Liverpool >>>>>>> 224 Ashton Building >>>>>>> Ashton Street >>>>>>> Liverpool L69 3BX >>>>>>> >>>>>>> T +44 151 795 4283 >>>>>>> F +44 151 795 4235 >>>>>>> W danushka.net <http://danushka.net/> >>>>>>> E m...@danushka.net <mailto:m...@danushka.net> >>>>>>> T @Bollegala >>>>>>> >>>>>> >>>>>> >>>>>> Perhaps the Import Publications script hook could do that. How do you >>>>>> import the bibtex entries? And what is setting this URL field? >>>>>> >>>>>> Christiaan >>>>> >>>>> >>>>> Be aware that the Import Publications script hook comes after the >>>>> conversion of the Url field to a linked URL, so you probably also want to >>>>> repoace the linked URL from the script hook. Also if you want to >>>>> automatically downoad the URL, this would not be done in this case, so >>>>> you should also do that from the script hook. >>>>> >>>>> Christiaan >>>>> >>>> >>>> >>>> Here’s an example of such a script hook: >>>> >>>> property theURLPrefixes : {"https://www.aclweb.org/anthology/ >>>> <https://www.aclweb.org/anthology/>"} >>>> property thePDFExtension : ".pdf" >>>> >>>> on hasAnyPrefix(theString, thePrefixes) >>>> repeat with thePrefix in thePrefixes >>>> if theString starts with thePrefix then return true >>>> end repeat >>>> return false >>>> end hasAnyPrefix >>>> >>>> on fixURL(theURL) >>>> if (my hasAnyPrefix(theURL, theURLPrefixes) and theURL does not end >>>> with thePDFExtension) then >>>> if theURL ends with "/" then set theURL to text 1 thru -2 of >>>> theURL >>>> set theURL to theURL & thePDFExtension >>>> end if >>>> return theURL >>>> end fixURL >>>> >>>> using terms from application "BibDesk" >>>> on perform BibDesk action with publications thePubs for script hook >>>> theScriptHook >>>> tell application "BibDesk" >>>> repeat with thePub in thePubs >>>> tell contents of thePub >>>> set theURL to value of field "Url" >>>> set theFixedURL to my fixedURL(theURL) >>>> if (theURL is not theFixedURL) then >>>> set value of field "Url" to >>>> theURL & theExt >>>> end if >>>> if (count of linked URLs) > 0 then >>>> set theURL to linked URL 1 >>>> set theFixedURL to my >>>> fixedURL(theURL) >>>> if (theURL is not theFixedURL) >>>> then >>>> remove theURL >>>> add theURL to beginning >>>> of linked URLs >>>> --download linked URL 1 >>>> --with replace >>>> end if >>>> end if >>>> end tell >>>> end repeat >>>> end tell >>>> end perform BibDesk action with publications >>>> end using terms from >>>> >>>> hth, >>>> Christiaan >>
_______________________________________________ Bibdesk-users mailing list Bibdesk-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bibdesk-users