X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fsend_kdm_email_job.cc;h=eff77ce43bfa6b6467876fb24705df093171878c;hb=081f974c2c75c306d07d5a6f5da6847826a05a9c;hp=0342acd53105ed50e0948085fb7a27cf9851fd55;hpb=9d63be286e8bc09dd1cf8deea5c58dda0a534c1e;p=dcpomatic.git diff --git a/src/lib/send_kdm_email_job.cc b/src/lib/send_kdm_email_job.cc index 0342acd53..eff77ce43 100644 --- a/src/lib/send_kdm_email_job.cc +++ b/src/lib/send_kdm_email_job.cc @@ -1,19 +1,20 @@ /* Copyright (C) 2013 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ @@ -21,6 +22,7 @@ #include "compose.hpp" #include "film.h" #include "cinema_kdms.h" +#include #include "i18n.h" @@ -28,20 +30,28 @@ using std::string; using std::list; using boost::shared_ptr; +/** @param cinema_kdms KDMs to email. + * @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 ( - shared_ptr film, - list > screens, - boost::filesystem::path cpl, - boost::posix_time::ptime from, - boost::posix_time::ptime to, - dcp::Formulation formulation + list cinema_kdms, + dcp::NameFormat container_name_format, + dcp::NameFormat filename_format, + dcp::NameFormat::Map name_values, + string cpl_name, + shared_ptr log ) - : Job (film) - , _screens (screens) - , _cpl (cpl) - , _from (from) - , _to (to) - , _formulation (formulation) + : Job (shared_ptr()) + , _container_name_format (container_name_format) + , _filename_format (filename_format) + , _name_values (name_values) + , _cpl_name (cpl_name) + , _cinema_kdms (cinema_kdms) + , _log (log) { } @@ -49,7 +59,12 @@ SendKDMEmailJob::SendKDMEmailJob ( string SendKDMEmailJob::name () const { - return String::compose (_("Email KDMs for %1"), _film->name()); + dcp::NameFormat::Map::const_iterator i = _name_values.find ('f'); + if (i == _name_values.end() || i->second.empty ()) { + return _("Email KDMs"); + } + + return String::compose (_("Email KDMs for %1"), i->second); } string @@ -61,24 +76,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 (_cinema_kdms, _container_name_format, _filename_format, _name_values, _cpl_name, _log); + set_progress (1); + set_state (FINISHED_OK); }