From: Carl Hetherington Date: Mon, 4 Sep 2023 18:08:03 +0000 (+0200) Subject: Use configured issuer/creator for DCPs made by map (#2585). X-Git-Tag: v2.16.64~18 X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=8571f2313029fe6398622c6d337c0066b58b1680 Use configured issuer/creator for DCPs made by map (#2585). --- diff --git a/src/lib/map_cli.cc b/src/lib/map_cli.cc index 31adf3a51..86f5057c0 100644 --- a/src/lib/map_cli.cc +++ b/src/lib/map_cli.cc @@ -305,6 +305,8 @@ map_cli(int argc, char* argv[], std::function out) dcp.resolve_refs(assets); dcp.set_annotation_text(cpls[0]->annotation_text().get_value_or("")); try { + dcp.set_creator(Config::instance()->dcp_creator()); + dcp.set_issuer(Config::instance()->dcp_issuer()); dcp.write_xml(Config::instance()->signer_chain()); } catch (dcp::UnresolvedRefError& e) { return String::compose("%1\nPerhaps you need to give a -d parameter to say where this asset is located.", e.what()); diff --git a/test/map_cli_test.cc b/test/map_cli_test.cc index 1267e9b4c..a4056dc46 100644 --- a/test/map_cli_test.cc +++ b/test/map_cli_test.cc @@ -504,3 +504,41 @@ BOOST_AUTO_TEST_CASE(map_multireel_interop_ov_and_vf_adding_ccaps) } +BOOST_AUTO_TEST_CASE(map_uses_config_for_issuer_and_creator) +{ + ConfigRestorer cr; + + Config::instance()->set_dcp_issuer("ostrabagalous"); + Config::instance()->set_dcp_creator("Fred"); + + string const name = "map_uses_config_for_issuer_and_creator"; + string const out = String::compose("build/test/%1_out", name); + + auto content = content_factory("test/data/flat_red.png"); + auto film = new_test_film2(name + "_in", content); + make_and_verify_dcp(film); + + vector const args = { + "map_cli", + "-o", out, + "-d", film->dir(film->dcp_name()).string(), + find_cpl(film->dir(film->dcp_name())).string() + }; + + boost::filesystem::remove_all(out); + + vector output_messages; + auto error = run(args, output_messages); + BOOST_CHECK(!error); + + cxml::Document assetmap("AssetMap"); + assetmap.read_file(film->dir(film->dcp_name()) / "ASSETMAP.xml"); + BOOST_CHECK(assetmap.string_child("Issuer") == "ostrabagalous"); + BOOST_CHECK(assetmap.string_child("Creator") == "Fred"); + + cxml::Document pkl("PackingList"); + pkl.read_file(find_prefix(out, "pkl_")); + BOOST_CHECK(pkl.string_child("Issuer") == "ostrabagalous"); + BOOST_CHECK(pkl.string_child("Creator") == "Fred"); +} +