diff options
author | gumi <git@gumi.ca> | 2020-05-16 17:18:17 -0400 |
---|---|---|
committer | gumi <git@gumi.ca> | 2020-05-16 17:18:17 -0400 |
commit | 25a3c3fefae87d55da172f2aaef6a27987f439fd (patch) | |
tree | c410cdfd73c7cf9101f7f6dab1c8fa1772dd05c9 /server/frob/index.ts | |
parent | 1af05ee74d0b2ec4e132617ab71bedd30fbfe753 (diff) | |
download | tools-25a3c3fefae87d55da172f2aaef6a27987f439fd.tar.gz tools-25a3c3fefae87d55da172f2aaef6a27987f439fd.tar.bz2 tools-25a3c3fefae87d55da172f2aaef6a27987f439fd.tar.xz tools-25a3c3fefae87d55da172f2aaef6a27987f439fd.zip |
[frob] update for deno 1.0
Diffstat (limited to 'server/frob/index.ts')
-rw-r--r-- | server/frob/index.ts | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/server/frob/index.ts b/server/frob/index.ts index fc3ac09..df06975 100644 --- a/server/frob/index.ts +++ b/server/frob/index.ts @@ -91,7 +91,7 @@ const flags = { } // flag parsing - for (let opt of args) { + for (const opt of args.slice()) { if (opt.startsWith("--")) { switch (opt.slice(2)) { case "dry": @@ -101,18 +101,18 @@ const flags = { case "dump": case "sql": flags.sql = true; + break; case "clean": case "clean-only": - args.length = 0; break; default: throw new SyntaxError(`unknown flag: ${opt}`); } args.shift(); + } else { + break; // no more flags } - - break; // no more flags } // item parsing @@ -163,6 +163,10 @@ const flags = { } } + if (!flags.dry_run) { + char_writer.init(); + } + // inventory: for await (let char of char_parser.readDB()) { let items_filtered = []; // this is not a Set because some items don't stack @@ -196,7 +200,7 @@ const flags = { await char_SQL.write(char); } - await char_writer.finalize(!!flags.dry_run); + await char_writer.finalize(); // char-server-bound account variables if (flags.sql) { @@ -212,6 +216,10 @@ const flags = { } } + if (!flags.dry_run) { + storage_writer.init(); + } + // storage: for await (let storage of storage_parser.readDB()) { let items_filtered = []; // this is not a Set because some items don't stack @@ -252,14 +260,17 @@ const flags = { if (storage.storage_amount >= 1) { await storage_writer.write(storage); - await storage_SQL.write(storage); + + if (flags.sql) { + await storage_SQL.write(storage); + } } else { console.log(`storage of account ${storage.account_id} is now empty: removing it from the storage db`); stats.storage.wiped++; } } - await storage_writer.finalize(!!flags.dry_run); + await storage_writer.finalize(); await sql.close(); console.info("\r \n=== all done ==="); |