diff options
| author | Carl Hetherington <cth@carlh.net> | 2024-06-08 20:17:43 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-06-08 20:17:43 +0200 |
| commit | 1c0dab32ab9185aa082fe281704adef661299126 (patch) | |
| tree | 0290968e78164249b958362e0f8a72d778d8a092 /src/lib/kdm_cli.cc | |
| parent | 3185f6330dc6ccc8ff86a0925602880c67951213 (diff) | |
| parent | 8e89905d0391f2b77253fe04ad1af285b2c6fec4 (diff) | |
Merge remote-tracking branch 'origin/main' into v2.17.x
Diffstat (limited to 'src/lib/kdm_cli.cc')
| -rw-r--r-- | src/lib/kdm_cli.cc | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/lib/kdm_cli.cc b/src/lib/kdm_cli.cc index 9d5b54b9a..72f66c842 100644 --- a/src/lib/kdm_cli.cc +++ b/src/lib/kdm_cli.cc @@ -63,9 +63,10 @@ help (std::function<void (string)> out) out (String::compose("Syntax: %1 [OPTION] [COMMAND] <FILM|CPL-ID|DKDM>", program_name)); out ("Commands:"); out ("create create KDMs; default if no other command is specified"); - out (variant::insert_dcpomatic("list-cinemas list known cinemas from %1 settings")); - out (variant::insert_dcpomatic("list-dkdm-cpls list CPLs for which %1 has DKDMs")); - out (variant::insert_dcpomatic("add-dkdm add DKDM to %1's list")); + out (variant::insert_dcpomatic("list-cinemas list known cinemas from %1 settings")); + out (variant::insert_dcpomatic("list-dkdm-cpls list CPLs for which %1 has DKDMs")); + out (variant::insert_dcpomatic("add-dkdm add DKDM to %1's list")); + out (variant::insert_dcpomatic("dump-decryption-certificate write the %1 KDM decryption certificate to the console")); out (" -h, --help show this help"); out (" -o, --output <path> output file or directory"); out (" -K, --filename-format <format> filename format for KDMs"); @@ -450,6 +451,17 @@ time_from_string(string time) } +void +dump_decryption_certificate(std::function<void (string)> out) +{ + vector<string> lines; + boost::split(lines, Config::instance()->decryption_chain()->leaf().certificate(true), boost::is_any_of("\n")); + for (auto const& line: lines) { + out(line); + } +} + + optional<string> kdm_cli (int argc, char* argv[], std::function<void (string)> out) try @@ -595,7 +607,8 @@ try "create", "list-cinemas", "list-dkdm-cpls", - "add-dkdm" + "add-dkdm", + "dump-decryption-certificate" }; if (optind < argc - 1) { @@ -640,6 +653,11 @@ try return {}; } + if (command == "dump-deccryption-certificate") { + dump_decryption_certificate(out); + return {}; + } + if (optind >= argc) { throw KDMCLIError("no film, CPL ID or DKDM specified"); } |
