Add flag -q/--quiet to suppress non-errors.

This commit is contained in:
Jakcron
2022-03-29 17:37:26 +08:00
parent b1629a4aa6
commit 0715b3d5b9
2 changed files with 22 additions and 6 deletions
+18 -4
View File
@@ -356,6 +356,8 @@ private:
ctrtool::SettingsInitializer::SettingsInitializer(const std::vector<std::string>& args) :
Settings(),
mModuleLabel("ctrtool::SettingsInitializer"),
mSuppressOutput(false),
mShowKeys(false),
mFallBackTitleKey(),
mFallBackSeed(),
mSeedDbPath()
@@ -365,6 +367,15 @@ ctrtool::SettingsInitializer::SettingsInitializer(const std::vector<std::string>
if (infile.path.isNull())
throw tc::ArgumentException(mModuleLabel, "No input file was specified.");
// suppress output if requested
if (mSuppressOutput)
{
opt.info = false;
opt.verbose = false;
exefs.list_fs = false;
romfs.list_fs = false;
}
opt.keybag = KeyBagInitializer(opt.is_dev, mFallBackTitleKey, mSeedDbPath, mFallBackSeed);
// determine filetype if not manually specified
@@ -417,9 +428,10 @@ void ctrtool::SettingsInitializer::parse_args(const std::vector<std::string>& ar
// get option flags
opts.registerOptionHandler(std::shared_ptr<FlagOptionHandler>(new FlagOptionHandler(opt.info, {"-i", "--info"})));
opts.registerOptionHandler(std::shared_ptr<FlagOptionHandler>(new FlagOptionHandler(opt.verbose, {"-v", "--verbose"})));
opts.registerOptionHandler(std::shared_ptr<FlagOptionHandler>(new FlagOptionHandler(mSuppressOutput, {"-q", "--quiet"})));
opts.registerOptionHandler(std::shared_ptr<FlagOptionHandler>(new FlagOptionHandler(opt.plain, {"-p", "--plain"})));
opts.registerOptionHandler(std::shared_ptr<FlagOptionHandler>(new FlagOptionHandler(opt.raw, {"-r", "--raw"})));
opts.registerOptionHandler(std::shared_ptr<FlagOptionHandler>(new FlagOptionHandler(opt.verbose, {"-v", "--verbose"})));
opts.registerOptionHandler(std::shared_ptr<FlagOptionHandler>(new FlagOptionHandler(opt.verify, {"-y", "--verify"})));
opts.registerOptionHandler(std::shared_ptr<FlagOptionHandler>(new FlagOptionHandler(opt.is_dev, {"-d", "--dev"})));
opts.registerOptionHandler(std::shared_ptr<FlagOptionHandler>(new FlagOptionHandler(opt.show_keys, {"--showkeys"})));
@@ -593,14 +605,16 @@ void ctrtool::SettingsInitializer::usage_text()
fmt::print(stderr,
"Options:\n"
" -i, --info Show file info.\n"
" This is the default action.\n"
//" -i, --info Show file info.\n"
//" This is the default action.\n"
//" -x, --extract Extract data from file.\n"
//" This is also the default action.\n"
" -v, --verbose Give verbose output.\n"
" -q, --quiet Only output errors (regular output is silenced).\n"
" -p, --plain Extract data without decrypting.\n"
" -r, --raw Keep raw data, don't unpack.\n"
//" -k, --keyset=file Specify keyset file.\n"
" -v, --verbose Give verbose output.\n"
" -y, --verify Verify hashes and signatures.\n"
" -d, --dev Decrypt with development keys instead of retail.\n"
//" --unitsize=size Set media unit size (default 0x200).\n"
+4 -2
View File
@@ -40,9 +40,9 @@ struct Settings
struct Options
{
bool info;
bool verbose;
bool plain;
bool raw;
bool verbose;
bool verify;
bool show_keys;
bool is_dev;
@@ -123,9 +123,9 @@ struct Settings
infile.path = tc::Optional<tc::io::Path>();
opt.info = true;
opt.verbose = false;
opt.plain = false;
opt.raw = false;
opt.verbose = false;
opt.verify = false;
opt.show_keys = false;
opt.is_dev = false;
@@ -168,6 +168,8 @@ private:
std::string mModuleLabel;
bool mSuppressOutput;
bool mShowKeys;
tc::Optional<std::string> mFallBackTitleKey;
tc::Optional<std::string> mFallBackSeed;