X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fsend_kdm_email_job.cc;h=59e33d4bc2dd5f94eda69b9d2329ec1de4798171;hb=HEAD;hp=19040dc4f5cc3712702673d79a8184735b6b1724;hpb=3828baf56467224f5d44049bf1e7a7ed11f43a05;p=dcpomatic.git diff --git a/src/lib/send_kdm_email_job.cc b/src/lib/send_kdm_email_job.cc index 19040dc4f..59e33d4bc 100644 --- a/src/lib/send_kdm_email_job.cc +++ b/src/lib/send_kdm_email_job.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2013 Carl Hetherington + Copyright (C) 2013-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,59 +18,98 @@ */ -#include "send_kdm_email_job.h" + #include "compose.hpp" #include "film.h" -#include "cinema_kdms.h" +#include "kdm_with_metadata.h" +#include "send_kdm_email_job.h" #include #include "i18n.h" -using std::string; + using std::list; -using boost::shared_ptr; +using std::shared_ptr; +using std::string; +using std::vector; +using boost::optional; + + +SendKDMEmailJob::SendKDMEmailJob ( + list kdms, + dcp::NameFormat container_name_format, + dcp::NameFormat filename_format, + string cpl_name, + vector extra_addresses + ) + : Job (shared_ptr()) + , _container_name_format (container_name_format) + , _filename_format (filename_format) + , _cpl_name (cpl_name) + , _extra_addresses (extra_addresses) +{ + for (auto i: kdms) { + list s; + s.push_back (i); + _kdms.push_back (s); + } +} + -/** @param log Log to write to, or 0 */ +/** @param kdms KDMs to email. + * @param container_name_format Format to use 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. + */ SendKDMEmailJob::SendKDMEmailJob ( - string film_name, + list> kdms, + dcp::NameFormat container_name_format, + dcp::NameFormat filename_format, string cpl_name, - boost::posix_time::ptime from, - boost::posix_time::ptime to, - list cinema_kdms, - shared_ptr log + vector extra_addresses ) : Job (shared_ptr()) - , _film_name (film_name) + , _container_name_format (container_name_format) + , _filename_format (filename_format) , _cpl_name (cpl_name) - , _from (from) - , _to (to) - , _cinema_kdms (cinema_kdms) - , _log (log) + , _kdms (kdms) + , _extra_addresses (extra_addresses) { } + +SendKDMEmailJob::~SendKDMEmailJob () +{ + stop_thread (); +} + + string SendKDMEmailJob::name () const { - if (_film_name.empty ()) { + auto f = _kdms.front().front()->get('f'); + if (!f || f->empty()) { return _("Email KDMs"); } - return String::compose (_("Email KDMs for %1"), _film_name); + return String::compose (_("Email KDMs for %1"), *f); } + string SendKDMEmailJob::json_name () const { return N_("send_kdm_email"); } + void SendKDMEmailJob::run () { set_progress_unknown (); - CinemaKDMs::email (_film_name, _cpl_name, _cinema_kdms, _from, _to, _log); + send_emails (_kdms, _container_name_format, _filename_format, _cpl_name, _extra_addresses); set_progress (1); set_state (FINISHED_OK); }