From 1c9378cc8a9978e8e20e9619a6cb23d0f4315580 Mon Sep 17 00:00:00 2001 From: Ilya Kreymer Date: Fri, 13 Dec 2024 18:34:44 -0800 Subject: [PATCH 1/3] add option to delete temp file in serializer --- src/node/warcserializer.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/node/warcserializer.ts b/src/node/warcserializer.ts index 49c2553..e860671 100644 --- a/src/node/warcserializer.ts +++ b/src/node/warcserializer.ts @@ -75,7 +75,14 @@ export class TempFileBuffer extends warcserializer.SerializerInMemBuffer { yield buff; } - await unlink(this.filename); + await this.deleteTempFile(); + } + + async deleteTempFile() { + if (this.filename) { + await unlink(this.filename); + this.filename = ""; + } } } From 43fae2985b60b8d18e81e36b0107ad3c47cb7b50 Mon Sep 17 00:00:00 2001 From: Ilya Kreymer Date: Fri, 13 Dec 2024 18:39:13 -0800 Subject: [PATCH 2/3] tempfilebuffer: add a clear() method to clear buffer / delete temp file --- src/lib/warcserializer.ts | 5 +++++ src/node/warcserializer.ts | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/lib/warcserializer.ts b/src/lib/warcserializer.ts index 1ce6914..b8ae227 100644 --- a/src/lib/warcserializer.ts +++ b/src/lib/warcserializer.ts @@ -27,6 +27,7 @@ export type WARCSerializerOpts = { export abstract class BaseSerializerBuffer { abstract write(chunk: Uint8Array): void; abstract readAll(): AsyncIterable; + abstract clear(): void; } // =========================================================================== @@ -42,6 +43,10 @@ export class SerializerInMemBuffer extends BaseSerializerBuffer { yield buff; } } + + clear() { + this.buffers = []; + } } // =========================================================================== diff --git a/src/node/warcserializer.ts b/src/node/warcserializer.ts index e860671..c00ffb4 100644 --- a/src/node/warcserializer.ts +++ b/src/node/warcserializer.ts @@ -75,10 +75,10 @@ export class TempFileBuffer extends warcserializer.SerializerInMemBuffer { yield buff; } - await this.deleteTempFile(); + await this.clear(); } - async deleteTempFile() { + override async clear() { if (this.filename) { await unlink(this.filename); this.filename = ""; From 6fea1d40d7367e80a765e37c867590bf219059b1 Mon Sep 17 00:00:00 2001 From: Ilya Kreymer Date: Fri, 13 Dec 2024 18:47:23 -0800 Subject: [PATCH 3/3] rename to purge, bump to 2.4.3 --- package.json | 2 +- src/lib/warcserializer.ts | 4 ++-- src/node/warcserializer.ts | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index f28dc63..e4d2835 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "warcio", - "version": "2.4.2", + "version": "2.4.3", "keywords": [ "WARC", "web archiving" diff --git a/src/lib/warcserializer.ts b/src/lib/warcserializer.ts index b8ae227..ccf2767 100644 --- a/src/lib/warcserializer.ts +++ b/src/lib/warcserializer.ts @@ -27,7 +27,7 @@ export type WARCSerializerOpts = { export abstract class BaseSerializerBuffer { abstract write(chunk: Uint8Array): void; abstract readAll(): AsyncIterable; - abstract clear(): void; + abstract purge(): void; } // =========================================================================== @@ -44,7 +44,7 @@ export class SerializerInMemBuffer extends BaseSerializerBuffer { } } - clear() { + purge() { this.buffers = []; } } diff --git a/src/node/warcserializer.ts b/src/node/warcserializer.ts index c00ffb4..5e2488b 100644 --- a/src/node/warcserializer.ts +++ b/src/node/warcserializer.ts @@ -75,10 +75,10 @@ export class TempFileBuffer extends warcserializer.SerializerInMemBuffer { yield buff; } - await this.clear(); + await this.purge(); } - override async clear() { + override async purge() { if (this.filename) { await unlink(this.filename); this.filename = "";