summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-07-29 09:57:58 +0100
committerCarl Hetherington <cth@carlh.net>2016-07-29 09:57:58 +0100
commit736b3a068ba5a402b541d32f270669e6e1a4e5c4 (patch)
tree2185f71bde7283683161bd3a557f13b7a610e967 /src/tools
parent71be005818ddaa59cdcca2fa5fb3210d8ea7ae4f (diff)
Allow configuration of KDM filename format.
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/dcpomatic.cc18
-rw-r--r--src/tools/dcpomatic_kdm.cc13
-rw-r--r--src/tools/dcpomatic_kdm_cli.cc14
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";