WdBot (lub WikidataBot) – narzędzie pośredniczące w operacjach na API Wikidanych. Bot był testowany z dużymi partiami danych i wydania znajdujące się w NPM powinny być stabilne.
Skrypt z wdbot może być używany do odczytu wielu rekordów WD (elementów Q) oraz kasowania wybranych lub wszystkich wartości z danej właściwości (P).
Techniczne ciekawe elementy:
async
przemieszanego z Promise
.Sposób użycia:
Instalacja:
npm i wdbot
Użycie w swoim pliku Node.js (package: "type": "module"
, albo plik.mjs
):
import { utils } from 'wdbot'; async function runOps() { const startTime = performance.now(); // jakaś długa lista const someList = [,,,,,,,,,,,,,,]; // asynchroniczne operacje na części listy (np. pobranie danych) const asyncOp = (chunk) => { return new Promise((resolve, reject) => { // jakieś operacje na `chunk`... resolve(); }); }; await utils.runInBatches(someList, asyncOp); // czas wykonania operacji const elapsed = utils.formatTime(startTime, performance.now()); const elapsedPerRecord = utils.formatTime(startTime, performance.now(), someList.length); console.log(`Elapsed time for loadMany: ${elapsed} (per record: ${elapsedPerRecord}).`); } await runOps();
Linki