Skip to content

Instantly share code, notes, and snippets.

@henryhchchc
Created August 29, 2025 03:54
Show Gist options
  • Select an option

  • Save henryhchchc/7eaec9508246b4522c7c198194cc06ab to your computer and use it in GitHub Desktop.

Select an option

Save henryhchchc/7eaec9508246b4522c7c198194cc06ab to your computer and use it in GitHub Desktop.
var items = Zotero.getActiveZoteroPane().getSelectedItems();
for (let item of items) {
let identifier = {
itemType: "journalArticle",
DOI: item.getField('DOI')
};
var translate = new Zotero.Translate.Search();
translate.setIdentifier(identifier);
let translators = await translate.getTranslators();
translate.setTranslator(translators);
let newItems = await translate.translate();
let newItem = newItems[0];
function update(field){
if (newItem.getField(field)){
item.setField(field,newItem.getField(field))
}
}
item.setCreators(newItem.getCreators());
// https://www.zotero.org/support/dev/client_coding/javascript_api/search_fields
let fields=["url","rights","series","volume","issue","edition","place","publisher","pages","ISBN","publicationTitle","ISSN","date","section","callNumber","archiveLocation","distributor","extra","journalAbbreviation","DOI","accessDate","seriesTitle","seriesText","seriesNumber","institution","reportType","code","session","legislativeBody","history","reporter","court","numberOfVolumes","committee","assignee","patentNumber","priorityNumbers","issueDate","references","legalStatus","codeNumber","artworkMedium","number","artworkSize","libraryCatalog","videoRecordingFormat","interviewMedium","letterType","manuscriptType","mapType","scale","thesisType","websiteType","audioRecordingFormat","label","presentationType","meetingName","studio","runningTime","network","postType","audioFileType","version","system","company","conferenceName","encyclopediaTitle","dictionaryTitle","language","programmingLanguage","university","abstractNote","websiteTitle","reportNumber","billNumber","codeVolume","codePages","dateDecided","reporterVolume","firstPage","documentNumber","dateEnacted","publicLawNumber","country","applicationNumber","forumTitle","episodeNumber","blogTitle","type","medium","title","caseName","nameOfAct","subject","proceedingsTitle","bookTitle","shortTitle","docketNumber","numPages","programTitle","issuingAuthority","filingDate","genre","archive"
]
for (let field of fields){
update(field);
}
newItem.deleted = true;
await item.saveTx();
await newItem.saveTx();
}
return ("Done");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment