summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2017-05-13 12:00:35 +0100
committerCarl Hetherington <cth@carlh.net>2017-05-13 12:00:35 +0100
commit8bdc1edabc107c3ba0ec6c5f0b8f93ac00e4c631 (patch)
treec87aee4edefa33e25a1bc90da56dc3266ec697b0 /src
parentfe0b4d0512d289caf3bc327a3791edcdd0fa3d0c (diff)
Fix various small errors in emailed-KDM zip file format (#478).
Diffstat (limited to 'src')
-rw-r--r--src/lib/cinema_kdms.cc16
-rw-r--r--src/lib/cinema_kdms.h3
-rw-r--r--src/lib/send_kdm_email_job.cc13
-rw-r--r--src/lib/send_kdm_email_job.h6
-rw-r--r--src/wx/kdm_output_panel.cc1
5 files changed, 24 insertions, 15 deletions
diff --git a/src/lib/cinema_kdms.cc b/src/lib/cinema_kdms.cc
index 605e414a0..dc9bfd3d7 100644
--- a/src/lib/cinema_kdms.cc
+++ b/src/lib/cinema_kdms.cc
@@ -179,15 +179,17 @@ CinemaKDMs::write_zip_files (
/** Email one ZIP file per cinema to the cinema.
* @param cinema_kdms KDMS to email.
- * @param name_format Format of filename to use.
- * @param name_values Values to substitute into \p name_format.
+ * @param container_name_format Format of folder / ZIP to use.
+ * @param filename_format Format of filenames to use.
+ * @param name_values Values to substitute into \p container_name_format and \p filename_format.
* @param cpl_name Name of the CPL that the KDMs are for.
* @param log Log to write email session transcript to, or 0.
*/
void
CinemaKDMs::email (
list<CinemaKDMs> cinema_kdms,
- dcp::NameFormat name_format,
+ dcp::NameFormat container_name_format,
+ dcp::NameFormat filename_format,
dcp::NameFormat::Map name_values,
string cpl_name,
shared_ptr<Log> log
@@ -206,9 +208,9 @@ CinemaKDMs::email (
name_values['c'] = i.cinema->name;
- boost::filesystem::path zip_file = boost::filesystem::temp_directory_path ();
- zip_file /= boost::filesystem::unique_path().string() + ".zip";
- i.make_zip_file (zip_file, name_format, name_values);
+ boost::filesystem::path zip_file = boost::filesystem::temp_directory_path();
+ zip_file /= container_name_format.get(name_values, ".zip");
+ i.make_zip_file (zip_file, filename_format, name_values);
string subject = config->kdm_subject();
boost::algorithm::replace_all (subject, "$CPL_NAME", cpl_name);
@@ -237,7 +239,7 @@ CinemaKDMs::email (
email.add_bcc (config->kdm_bcc ());
}
- email.add_attachment (zip_file, name_format.get(name_values, ".zip"), "application/zip");
+ email.add_attachment (zip_file, container_name_format.get(name_values, ".zip"), "application/zip");
Config* c = Config::instance ();
diff --git a/src/lib/cinema_kdms.h b/src/lib/cinema_kdms.h
index 98cb84541..9d4887f5a 100644
--- a/src/lib/cinema_kdms.h
+++ b/src/lib/cinema_kdms.h
@@ -51,7 +51,8 @@ public:
static void email (
std::list<CinemaKDMs> cinema_kdms,
- dcp::NameFormat name_format,
+ dcp::NameFormat container_name_format,
+ dcp::NameFormat filename_format,
dcp::NameFormat::Map name_values,
std::string cpl_name,
boost::shared_ptr<Log> log
diff --git a/src/lib/send_kdm_email_job.cc b/src/lib/send_kdm_email_job.cc
index 890115747..eff77ce43 100644
--- a/src/lib/send_kdm_email_job.cc
+++ b/src/lib/send_kdm_email_job.cc
@@ -31,20 +31,23 @@ using std::list;
using boost::shared_ptr;
/** @param cinema_kdms KDMs to email.
- * @param name_format Format to use for filenames.
- * @param name_values Values to substitute into the filenames.
+ * @param container_name_format Format to ues for folders / ZIP files.
+ * @param filename_format Format to use for filenames.
+ * @param name_values Values to substitute into \p container_name_format and \p filename_format.
* @param cpl_name Name of the CPL that the KDMs are for.
* @param log Log to write to, or 0.
*/
SendKDMEmailJob::SendKDMEmailJob (
list<CinemaKDMs> cinema_kdms,
- dcp::NameFormat name_format,
+ dcp::NameFormat container_name_format,
+ dcp::NameFormat filename_format,
dcp::NameFormat::Map name_values,
string cpl_name,
shared_ptr<Log> log
)
: Job (shared_ptr<Film>())
- , _name_format (name_format)
+ , _container_name_format (container_name_format)
+ , _filename_format (filename_format)
, _name_values (name_values)
, _cpl_name (cpl_name)
, _cinema_kdms (cinema_kdms)
@@ -74,7 +77,7 @@ void
SendKDMEmailJob::run ()
{
set_progress_unknown ();
- CinemaKDMs::email (_cinema_kdms, _name_format, _name_values, _cpl_name, _log);
+ CinemaKDMs::email (_cinema_kdms, _container_name_format, _filename_format, _name_values, _cpl_name, _log);
set_progress (1);
set_state (FINISHED_OK);
}
diff --git a/src/lib/send_kdm_email_job.h b/src/lib/send_kdm_email_job.h
index c2916f69d..88de1e9fe 100644
--- a/src/lib/send_kdm_email_job.h
+++ b/src/lib/send_kdm_email_job.h
@@ -32,7 +32,8 @@ class SendKDMEmailJob : public Job
public:
SendKDMEmailJob (
std::list<CinemaKDMs> cinema_kdms,
- dcp::NameFormat name_format,
+ dcp::NameFormat container_name_format,
+ dcp::NameFormat filename_format,
dcp::NameFormat::Map name_values,
std::string cpl_name,
boost::shared_ptr<Log> log
@@ -43,7 +44,8 @@ public:
void run ();
private:
- dcp::NameFormat _name_format;
+ dcp::NameFormat _container_name_format;
+ dcp::NameFormat _filename_format;
dcp::NameFormat::Map _name_values;
std::string _cpl_name;
std::list<CinemaKDMs> _cinema_kdms;
diff --git a/src/wx/kdm_output_panel.cc b/src/wx/kdm_output_panel.cc
index bbfc1a01d..82c5210d2 100644
--- a/src/wx/kdm_output_panel.cc
+++ b/src/wx/kdm_output_panel.cc
@@ -248,6 +248,7 @@ KDMOutputPanel::make (
job.reset (
new SendKDMEmailJob (
cinema_kdms,
+ _container_name_format->get(),
_filename_format->get(),
name_values,
name,