Sorry, I see now that there is a bug in the download command, that makes it 
fail for linked URLs. That will be fixed in tomorrow’s nightly (and the next 
release). What also work is instead to the publication to the download command 
(‘download thePub’)

Christiaan

> On 27 Oct 2019, at 00:30, Christiaan Hofman <cmhof...@gmail.com> wrote:
> 
> 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 
>> <mailto: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

Reply via email to