diff options
| author | Carl Hetherington <cth@carlh.net> | 2016-07-29 09:57:58 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2016-07-29 09:57:58 +0100 |
| commit | 736b3a068ba5a402b541d32f270669e6e1a4e5c4 (patch) | |
| tree | 2185f71bde7283683161bd3a557f13b7a610e967 /src/tools | |
| parent | 71be005818ddaa59cdcca2fa5fb3210d8ea7ae4f (diff) | |
Allow configuration of KDM filename format.
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/dcpomatic.cc | 18 | ||||
| -rw-r--r-- | src/tools/dcpomatic_kdm.cc | 13 | ||||
| -rw-r--r-- | src/tools/dcpomatic_kdm_cli.cc | 14 |
3 files changed, 33 insertions, 12 deletions
diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc index ac5b8a544..e29d41db7 100644 --- a/src/tools/dcpomatic.cc +++ b/src/tools/dcpomatic.cc @@ -492,20 +492,26 @@ private: try { list<ScreenKDM> screen_kdms = _film->make_kdms (d->screens(), d->cpl(), d->from(), d->until(), d->formulation()); + + NameFormat::Map name_values; + name_values["film_name"] = _film->name(); + name_values["from"] = dcp::LocalTime(d->from()).date() + " " + dcp::LocalTime(d->from()).time_of_day(); + name_values["to"] = dcp::LocalTime(d->until()).date() + " " + dcp::LocalTime(d->until()).time_of_day(); + if (d->write_to ()) { ScreenKDM::write_files ( - _film->name(), screen_kdms, - d->directory() + d->directory(), + d->name_format(), + name_values ); } else { JobManager::instance()->add ( shared_ptr<Job> (new SendKDMEmailJob ( - _film->name(), - _film->dcp_name(), - d->from(), - d->until(), CinemaKDMs::collect (screen_kdms), + d->name_format(), + name_values, + _film->dcp_name(), _film->log() )) ); diff --git a/src/tools/dcpomatic_kdm.cc b/src/tools/dcpomatic_kdm.cc index c686a974d..a0a803737 100644 --- a/src/tools/dcpomatic_kdm.cc +++ b/src/tools/dcpomatic_kdm.cc @@ -288,8 +288,13 @@ private: screen_kdms.push_back (ScreenKDM (i, kdm.encrypt (signer, i->recipient.get(), i->trusted_devices, _output->formulation()))); } + NameFormat::Map name_values; + name_values["film_name"] = decrypted.content_title_text(); + name_values["from"] = dcp::LocalTime(_timing->from()).date() + " " + dcp::LocalTime(_timing->from()).time_of_day(); + name_values["to"] = dcp::LocalTime(_timing->until()).date() + " " + dcp::LocalTime(_timing->until()).time_of_day(); + if (_output->write_to()) { - ScreenKDM::write_files (decrypted.content_title_text(), screen_kdms, _output->directory()); + ScreenKDM::write_files (screen_kdms, _output->directory(), _output->name_format(), name_values); /* XXX: proper plural form support in wxWidgets? */ wxString s = screen_kdms.size() == 1 ? _("%d KDM written to %s") : _("%d KDMs written to %s"); message_dialog ( @@ -302,10 +307,10 @@ private: film_name = decrypted.content_title_text (); } shared_ptr<Job> job (new SendKDMEmailJob ( - film_name, - decrypted.content_title_text(), - _timing->from(), _timing->until(), CinemaKDMs::collect (screen_kdms), + _output->name_format(), + name_values, + decrypted.content_title_text(), shared_ptr<Log> () )); diff --git a/src/tools/dcpomatic_kdm_cli.cc b/src/tools/dcpomatic_kdm_cli.cc index 4c527ee0c..ad5ee1c7b 100644 --- a/src/tools/dcpomatic_kdm_cli.cc +++ b/src/tools/dcpomatic_kdm_cli.cc @@ -284,19 +284,29 @@ int main (int argc, char* argv[]) output = "."; } + NameFormat::Map values; + values["film_name"] = film->name(); + values["from"] = dcp::LocalTime(valid_from.get()).date() + " " + dcp::LocalTime(valid_from.get()).time_of_day(); + values["to"] = dcp::LocalTime(valid_to.get()).date() + " " + dcp::LocalTime(valid_to.get()).time_of_day(); + try { list<ScreenKDM> screen_kdms = film->make_kdms ( (*i)->screens(), cpl, valid_from.get(), valid_to.get(), formulation ); if (zip) { - CinemaKDMs::write_zip_files (film->name(), CinemaKDMs::collect (screen_kdms), output); + CinemaKDMs::write_zip_files ( + CinemaKDMs::collect (screen_kdms), + output, + Config::instance()->kdm_filename_format(), + values + ); if (verbose) { cout << "Wrote ZIP files to " << output << "\n"; } } else { - ScreenKDM::write_files (film->name(), screen_kdms, output); + ScreenKDM::write_files (screen_kdms, output, Config::instance()->kdm_filename_format(), values); if (verbose) { cout << "Wrote KDM files to " << output << "\n"; |
