From: Christiaan H. <cmh...@gm...> - 2021-12-03 22:29:36
|
> On 3 Dec 2021, at 22:52, Arrigo Benedetti <arr...@gm...> wrote: > > I want to write a python script that will process a large number of PDF files, extract the relevant information like DOI, etc and create a bibtex archive so I can use BibDesk. I understand that the path to the PDF is stored in the bdsk-file-1 and I was able to decode it with the python code discussed at https://inkdroid.org/2020/09/03/bibdesk-and-zotero/ <https://inkdroid.org/2020/09/03/bibdesk-and-zotero/> > The decoded plist has the field: 'relativePath', 'aliasData' where relativePath is obviously the relative path to the PDF file. I'm wondering if I should create the aliasData field and what should I put there. I hope that it's clear what I want to do: to create a bibtex file that BibDesk will be able to read and work on starting from a large number of PDF files. I see this for the most part a one time operation just to avoid the manual creation of thousands of entries with BibDesk. I'm planning to post the code to github when this project is completed. > > Thanks much, > > -Arrigo > The aliasData is data created from an AliasHandle. You can only create that using (deprecated) Core Services functions. I have no idea how data is stored there, Apple has never released the specs for it. BibDesk is open source, so you can just look into the code to see how the data is generated. This is done in the BDSKLinkedFile class. BTW, as AliasHandle is deprecated, we might in the future replace it with bookmark data. Whose format is also not documented by Apple, but it can be created using non deprecated Objective-C methods, which should also be available through the python ObjC bridge. Support for reading (and writing) this data is already present in BibDesk. Christiaan |