Created
February 25, 2021 05:28
-
-
Save aqzlpm11/132cd5596dc1ebcdf17d1cd57f4031e1 to your computer and use it in GitHub Desktop.
批量清除zotero中extra字段(当前清除包含citations的行)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Reference: https://forums.zotero.org/discussion/82558/rdf-extra-field | |
var fieldName = "extra"; | |
var fieldID = Zotero.ItemFields.getID(fieldName); | |
var s = new Zotero.Search(); | |
s.libraryID = Zotero.Libraries.userLibraryID; | |
s.addCondition(fieldName, 'contains', ': '); | |
s.addCondition('joinMode', 'any'); | |
var ids = await s.search(); | |
if (!ids.length) { | |
return "No items found"; | |
} | |
//message = "" | |
await Zotero.DB.executeTransaction(async function () { | |
for (let id of ids) { | |
let item = await Zotero.Items.getAsync(id); | |
let mappedFieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(item.itemTypeID, fieldName); | |
var oldValue = item.getField(mappedFieldID ? mappedFieldID : fieldID) | |
var newValue = oldValue.replace(/\n^.*citations.*/gm, ''); | |
//message = message + "--------\nold:" + oldValue + "\nnew:" + newValue + "\n" | |
item.setField(mappedFieldID ? mappedFieldID : fieldID, newValue); | |
await item.save(); | |
} | |
}); | |
//return message; | |
return ids.length + " item(s) updated"; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment