From ef829c5c66312fd5a7f9b2dc2caea2e5a5d14f9d Mon Sep 17 00:00:00 2001 From: zontreck Date: Wed, 22 Jan 2025 04:16:46 -0700 Subject: [PATCH] Update LibAC syntax for arguments system --- dart/bin/ch.dart | 24 +++++++++++++--------- dart/bin/dbikc.dart | 14 +++++++++---- dart/bin/mkfsreport.dart | 43 ++++++++++++++++++++-------------------- dart/bin/nbt2snbt.dart | 21 ++++++++++---------- dart/bin/regedit.dart | 14 ++++++------- dart/bin/snbt2nbt.dart | 21 +++++++++----------- dart/bin/timestamp.dart | 24 +++++++++++----------- dart/lib/constants.dart | 2 +- dart/pubspec.yaml | 2 +- 9 files changed, 87 insertions(+), 78 deletions(-) diff --git a/dart/bin/ch.dart b/dart/bin/ch.dart index b8868f7..656b381 100644 --- a/dart/bin/ch.dart +++ b/dart/bin/ch.dart @@ -1,28 +1,34 @@ import 'package:libac_dart/argparse/Args.dart'; import 'package:libac_dart/argparse/Builder.dart'; import 'package:libac_dart/argparse/CLIHelper.dart'; +import 'package:libac_dart/argparse/Parser.dart'; import 'package:libac_dart/argparse/types/Bool.dart'; import 'package:simplehelpertools/constants.dart'; String get CH_VERSION => HelperConsts.CH_VERSION; Future main(List args) async { - print("Git Commit Helper\nVersion: ${CH_VERSION}\n\n"); + print("Git Commit Helper\nVersion: $CH_VERSION\n\n"); Arguments defaults = ArgumentsBuilder.builder() - .withArgument( - BoolArgument(name: "help", description: "Print out this help page")) .withArgument(BoolArgument( - name: "commit", - description: "Create a commit for the current working directory")) - .withArgument(BoolArgument(name: "sign", description: "Sign the commit")) + name: "help", + )) .withArgument(BoolArgument( - name: "force", description: "Ignore gitignore rules for commits")) + name: "commit", + )) + .withArgument(BoolArgument( + name: "sign", + )) + .withArgument(BoolArgument( + name: "force", + )) .build(); - Arguments argx = await CLIHelper.parseArgs(args, Arguments()); + Arguments argx = ArgumentParser.parse(args); if (argx.hasArg("help") || argx.count == 0) { - print(CLIHelper.makeArgCLIHelp(defaults)); + print( + ArgumentHelpers.generateHelpMessage(defaults.getArgumentsList(), "ch")); return 0; } diff --git a/dart/bin/dbikc.dart b/dart/bin/dbikc.dart index 28bdacd..0e3bc7f 100644 --- a/dart/bin/dbikc.dart +++ b/dart/bin/dbikc.dart @@ -1,5 +1,6 @@ import 'dart:io'; +import 'package:libac_dart/argparse/Parser.dart'; import 'package:simplehelpertools/constants.dart'; import 'package:libac_dart/argparse/Args.dart'; import 'package:libac_dart/argparse/Builder.dart'; @@ -11,15 +12,20 @@ import 'package:libac_dart/utils/DBIKC.dart'; Future main(List args) async { Arguments defaults = ArgumentsBuilder.builder() .withArgument(StringArgument( - name: "value", value: "", description: "Text to encode/decode")) - .withArgument(BoolArgument(name: "help", description: "This help text")) + name: "value", + value: "", + )) + .withArgument(BoolArgument( + name: "help", + )) .build(); - var helpText = CLIHelper.makeArgCLIHelp(defaults); + var helpText = + ArgumentHelpers.generateHelpMessage(defaults.getArgumentsList(), "dbikc"); var HEADER = "Double Breasted Interrupted Key Cipher\nVersion: ${HelperConsts.DBIKC_VERSION}\n\n"; - Arguments parsed = await CLIHelper.parseArgs(args, Arguments()); + Arguments parsed = ArgumentParser.parse(args); if (parsed.hasArg("help") || !parsed.hasArg("value")) { print("$HEADER$helpText"); exit(0); diff --git a/dart/bin/mkfsreport.dart b/dart/bin/mkfsreport.dart index 2e1b075..cac7646 100644 --- a/dart/bin/mkfsreport.dart +++ b/dart/bin/mkfsreport.dart @@ -6,6 +6,7 @@ import 'dart:io'; +import 'package:libac_dart/argparse/Parser.dart'; import 'package:simplehelpertools/constants.dart'; import 'package:libac_dart/argparse/Args.dart'; import 'package:libac_dart/argparse/Builder.dart'; @@ -22,27 +23,27 @@ Future main(List args) async { Arguments defaults = ArgumentsBuilder.builder() .withArgument(BoolArgument( - name: "asc", - description: "Operate in ascending mode, smallest size listed first")) + name: "asc", + )) .withArgument(StringArgument( - name: "path", - value: "/", - description: "The path to generate a report for")) - .withArgument( - BoolArgument(name: "help", description: "Hey look! It's me!")) - .withArgument(StringArgument( - name: "out", - value: "file.html", - description: - "Where to place the report. If not specified, stdout is used")) + name: "path", + value: "/", + )) .withArgument(BoolArgument( - name: "nohtml", - description: - "Disables HTML generation and uses a plain text report instead.")) + name: "help", + )) + .withArgument(StringArgument( + name: "out", + value: "file.html", + )) + .withArgument(BoolArgument( + name: "nohtml", + )) .build(); - Arguments parsed = await CLIHelper.parseArgs(args, Arguments()); - String helpTest = "$HEADER${CLIHelper.makeArgCLIHelp(defaults)}"; + Arguments parsed = await ArgumentParser.parse(args); + String helpTest = + "$HEADER${ArgumentHelpers.generateHelpMessage(defaults.getArgumentsList(), "mkfsreport")}"; if (parsed.count == 0 || !parsed.hasArg("path") || parsed.hasArg("help")) { print(helpTest); @@ -61,7 +62,7 @@ Future main(List args) async { StringArgument pathArg = parsed.getArg("path") as StringArgument; if (verbose) print("> Analyzing files..."); - await getDirectorySize(pathArg.value, + await getDirectorySize(pathArg.getValue(), cacheSize: true, recursive: true, verbose: parsed.hasArg("o")); FileInformationCache FIC = FileInformationCache.obtain(); @@ -79,12 +80,12 @@ Future main(List args) async { if (verbose) { StringArgument outputPath = parsed.getArg("out") as StringArgument; await prnt("\n> Saving report..."); - await File(outputPath.value).writeAsString(report); + await File(outputPath.getValue()).writeAsString(report); await prnt("\n> Task Completed\n"); - var size = await File(outputPath.value).length(); + var size = await File(outputPath.getValue()).length(); FileInfo savedFile = - FileInfo(path: outputPath.value, size: size, isFile: true); + FileInfo(path: outputPath.getValue(), size: size, isFile: true); await prnt("> Report file size: ${savedFile.toString()}\n\n"); } else { print(report); diff --git a/dart/bin/nbt2snbt.dart b/dart/bin/nbt2snbt.dart index 0eb41f9..b699680 100644 --- a/dart/bin/nbt2snbt.dart +++ b/dart/bin/nbt2snbt.dart @@ -1,5 +1,6 @@ import 'dart:io'; +import 'package:libac_dart/argparse/Parser.dart'; import 'package:simplehelpertools/constants.dart'; import 'package:libac_dart/argparse/Args.dart'; import 'package:libac_dart/argparse/Builder.dart'; @@ -10,27 +11,25 @@ import 'package:libac_dart/nbt/NbtIo.dart'; import 'package:libac_dart/nbt/SnbtIo.dart'; import 'package:libac_dart/nbt/impl/CompoundTag.dart'; -const HEADER = +String HEADER = "nbt2snbt\nCopyright Piccari Creations 2024 - Tara Piccari\nVersion: ${HelperConsts.NBT_VERSION}\nPurpose: Converts Named Binary Tag files to a more readable Stringified version\n\n"; void main(List args) async { Arguments usage = ArgumentsBuilder.builder() - .withArgument( - BoolArgument(name: "help", description: "Print this output")) + .withArgument(BoolArgument(name: "help")) + .withArgument(StringArgument(name: "input", value: "%")) .withArgument(StringArgument( - name: "input", value: "%", description: "The input file to convert")) - .withArgument(StringArgument( - name: "out", - value: "%", - description: - "The path to the output file. If not supplied, STDOUT is used.")) + name: "out", + value: "%", + )) .build(); Arguments defaults = Arguments(); - Arguments vArgs = await CLIHelper.parseArgs(args, defaults); + Arguments vArgs = ArgumentParser.parse(args); if (vArgs.hasArg("help") || vArgs.count == 0) { print(HEADER); - print(CLIHelper.makeArgCLIHelp(usage)); + print(ArgumentHelpers.generateHelpMessage( + usage.getArgumentsList(), "nbt2snbt")); } else { if (!vArgs.hasArg("input")) { print(HEADER); diff --git a/dart/bin/regedit.dart b/dart/bin/regedit.dart index 02450e5..85ffc16 100644 --- a/dart/bin/regedit.dart +++ b/dart/bin/regedit.dart @@ -1,3 +1,4 @@ +import 'package:libac_dart/argparse/Parser.dart'; import 'package:simplehelpertools/constants.dart'; import 'package:libac_dart/argparse/Args.dart'; import 'package:libac_dart/argparse/Builder.dart'; @@ -10,17 +11,16 @@ Future main(List args) async { "Registry Editor\nVersion: ${HelperConsts.REGEDIT_VERSION}\nUsing Bundled LibAC: ${Constants.VERSION}\nAuthor: Tara Piccari\n"; Arguments defaults = ArgumentsBuilder.builder() - .withArgument(BoolArgument(name: "help", description: "Oh hey it's me!")) - .withArgument(BoolArgument( - name: "add", description: "Add or update registry value")) - .withArgument( - BoolArgument(name: "del", description: "Delete Registry value")) + .withArgument(BoolArgument(name: "help")) + .withArgument(BoolArgument(name: "add")) + .withArgument(BoolArgument(name: "del")) .build(); - Arguments parsed = await CLIHelper.parseArgs(args, Arguments()); + Arguments parsed = ArgumentParser.parse(args); if (parsed.count == 0 || parsed.hasArg("help")) { - print("${HEADER}\n\n${CLIHelper.makeArgCLIHelp(defaults)}"); + print( + "$HEADER\n\n${ArgumentHelpers.generateHelpMessage(defaults.getArgumentsList(), "regedit")}"); } return 0; diff --git a/dart/bin/snbt2nbt.dart b/dart/bin/snbt2nbt.dart index 48cd085..5791f2e 100644 --- a/dart/bin/snbt2nbt.dart +++ b/dart/bin/snbt2nbt.dart @@ -1,5 +1,6 @@ import 'dart:io'; +import 'package:libac_dart/argparse/Parser.dart'; import 'package:simplehelpertools/constants.dart'; import 'package:libac_dart/argparse/Args.dart'; import 'package:libac_dart/argparse/Builder.dart'; @@ -10,27 +11,23 @@ import 'package:libac_dart/nbt/NbtIo.dart'; import 'package:libac_dart/nbt/SnbtIo.dart'; import 'package:libac_dart/nbt/impl/CompoundTag.dart'; -const HEADER = +var HEADER = "snbt2nbt\nCopyright Piccari Creations 2024 - Tara Piccari\nVersion: ${HelperConsts.NBT_VERSION}\nPurpose: Converts the more readable stringified NBT to Named Binary Tag format\n\n"; void main(List args) async { Arguments usage = ArgumentsBuilder.builder() - .withArgument( - BoolArgument(name: "help", description: "Print this output")) - .withArgument(StringArgument( - name: "input", value: "%", description: "The input file to convert")) - .withArgument(StringArgument( - name: "out", value: "%", description: "The path to the output file.")) - .withArgument(BoolArgument( - name: "compress", - description: "If supplied, compresses the output file")) + .withArgument(BoolArgument(name: "help")) + .withArgument(StringArgument(name: "input", value: "%")) + .withArgument(StringArgument(name: "out", value: "%")) + .withArgument(BoolArgument(name: "compress")) .build(); Arguments defaults = Arguments(); - Arguments vArgs = await CLIHelper.parseArgs(args, defaults); + Arguments vArgs = ArgumentParser.parse(args); if (vArgs.hasArg("help") || vArgs.count == 0) { print(HEADER); - print(CLIHelper.makeArgCLIHelp(usage)); + print(ArgumentHelpers.generateHelpMessage( + usage.getArgumentsList(), "snbt2nbt")); } else { if (!vArgs.hasArg("input")) { print(HEADER); diff --git a/dart/bin/timestamp.dart b/dart/bin/timestamp.dart index 1e0485b..a04ef5e 100644 --- a/dart/bin/timestamp.dart +++ b/dart/bin/timestamp.dart @@ -3,34 +3,34 @@ import 'dart:io'; import 'package:libac_dart/argparse/Args.dart'; import 'package:libac_dart/argparse/Builder.dart'; import 'package:libac_dart/argparse/CLIHelper.dart'; +import 'package:libac_dart/argparse/Parser.dart'; import 'package:libac_dart/argparse/types/Bool.dart'; import 'package:libac_dart/utils/TimeUtils.dart'; import 'package:simplehelpertools/constants.dart'; Future main(List lArgs) async { - Arguments args = await CLIHelper.parseArgs(lArgs, Arguments()); + Arguments args = ArgumentParser.parse(lArgs); Arguments defaults = ArgumentsBuilder.builder() - .withArgument(BoolArgument( - name: "version", description: "Print the version information")) - .withArgument( - BoolArgument(name: "help", description: "Print this message")) - .withArgument(BoolArgument( - name: "silent", - description: "Only prints the timestamp and newline terminators")) + .withArgument(BoolArgument(name: "version")) + .withArgument(BoolArgument(name: "help")) + .withArgument(BoolArgument(name: "silent")) .build(); - if (args.hasArg("version") || args.hasArg("help")) + if (args.hasArg("version") || args.hasArg("help")) { print( "Timestamp\nVersion: ${HelperConsts.TIMESTAMP_VERSION}\nLibAC Version: ${HelperConsts.LIBAC_VERSION}\n\n"); + } if (args.hasArg("help")) { - print(CLIHelper.makeArgCLIHelp(defaults)); + print(ArgumentHelpers.generateHelpMessage( + defaults.getArgumentsList(), "timestamp")); exit(0); } - if (args.hasArg("silent")) + if (args.hasArg("silent")) { print("${TimeUtils.getUnixTimestamp()}"); - else + } else { print("Current unix timestamp is: ${TimeUtils.getUnixTimestamp()}"); + } } diff --git a/dart/lib/constants.dart b/dart/lib/constants.dart index 680ecca..a0fbb6a 100644 --- a/dart/lib/constants.dart +++ b/dart/lib/constants.dart @@ -1,7 +1,7 @@ import 'package:libac_dart/consts.dart'; class HelperConsts { - static const NBT_VERSION = "1.0.083024+1123"; + static String get NBT_VERSION => Constants.NBT_REVISION; static const MKFSREPORT_VERSION = "1.0.083024.2334"; static const DBIKC_VERSION = "1.0.083024+2334"; static const REGEDIT_VERSION = "1.0.083124+0235"; diff --git a/dart/pubspec.yaml b/dart/pubspec.yaml index 77d8ea0..195614a 100644 --- a/dart/pubspec.yaml +++ b/dart/pubspec.yaml @@ -11,7 +11,7 @@ dependencies: args: ^2.4.2 libac_dart: hosted: https://git.zontreck.com/api/packages/AriasCreations/pub/ - version: 1.3.010625+0228 + version: 1.4.012225+0413 dev_dependencies: lints: ^4.0.0