فهرست منبع

Atomic rename.

Herby Vojčík 6 سال پیش
والد
کامیت
7e98bf8f61
1فایلهای تغییر یافته به همراه3 افزوده شده و 2 حذف شده
  1. 3 2
      index.js

+ 3 - 2
index.js

@@ -1,6 +1,6 @@
 // node --require regenerator-runtime/runtime --require ./babel-local --require isomorphic-fetch index.js
 
-import {createWriteStream} from 'fs';
+import {createWriteStream, rename} from 'fs';
 
 async function work () {
     let rootUri = 'https://data.gov.sk/api/3/action/package_search?fq=%2btitle:Vestn%C3%ADk%20verejn%C3%A9ho%20obstar%C3%A1vania*&rows=9999&sort=metadata_created_date%20asc';
@@ -15,7 +15,8 @@ async function work () {
             console.info(`File ${year} / ${issue}: ${description}`);
             const xmlRaw = await fetch(url);
             saves.push((async () => {
-                await xmlRaw.body.pipe(createWriteStream(`${year}.${issue}.xml`));
+                await xmlRaw.body.pipe(createWriteStream(`${year}.${issue}.xml.download`));
+                await new Promise((resolve, reject) => rename(`${year}.${issue}.xml.download`, `${year}.${issue}.xml`, err => err ? reject(err) : resolve()));
             })());
         }
         await Promise.all(saves);