X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fsend_kdm_email_job.cc;h=7eff1b719bf5eadc74c7967aa86ffd561b239f36;hp=0342acd53105ed50e0948085fb7a27cf9851fd55;hb=c658aec3ffd5009cbe7fa2540da5a0579e2f2e8c;hpb=9d63be286e8bc09dd1cf8deea5c58dda0a534c1e diff --git a/src/lib/send_kdm_email_job.cc b/src/lib/send_kdm_email_job.cc index 0342acd53..7eff1b719 100644 --- a/src/lib/send_kdm_email_job.cc +++ b/src/lib/send_kdm_email_job.cc @@ -21,6 +21,7 @@ #include "compose.hpp" #include "film.h" #include "cinema_kdms.h" +#include #include "i18n.h" @@ -28,20 +29,22 @@ using std::string; using std::list; using boost::shared_ptr; +/** @param log Log to write to, or 0 */ SendKDMEmailJob::SendKDMEmailJob ( - shared_ptr film, - list > screens, - boost::filesystem::path cpl, + string film_name, + string cpl_name, boost::posix_time::ptime from, boost::posix_time::ptime to, - dcp::Formulation formulation + list cinema_kdms, + shared_ptr log ) - : Job (film) - , _screens (screens) - , _cpl (cpl) + : Job (shared_ptr()) + , _film_name (film_name) + , _cpl_name (cpl_name) , _from (from) , _to (to) - , _formulation (formulation) + , _cinema_kdms (cinema_kdms) + , _log (log) { } @@ -49,7 +52,11 @@ SendKDMEmailJob::SendKDMEmailJob ( string SendKDMEmailJob::name () const { - return String::compose (_("Email KDMs for %1"), _film->name()); + if (_film_name.empty ()) { + return _("Email KDMs"); + } + + return String::compose (_("Email KDMs for %1"), _film_name); } string @@ -61,24 +68,8 @@ SendKDMEmailJob::json_name () const void SendKDMEmailJob::run () { - try { - - set_progress_unknown (); - - CinemaKDMs::email ( - _film, - CinemaKDMs::collect (_film->make_kdms (_screens, _cpl, _from, _to, _formulation)), - _from, - _to - ); - - set_progress (1); - set_state (FINISHED_OK); - - } catch (std::exception& e) { - - set_progress (1); - set_state (FINISHED_ERROR); - throw; - } + set_progress_unknown (); + CinemaKDMs::email (_film_name, _cpl_name, _cinema_kdms, _from, _to, shared_from_this(), _log); + set_progress (1); + set_state (FINISHED_OK); }