X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fsend_kdm_email_job.cc;h=cea35e3c59edb08ca3183935e3247a02a47174e5;hp=5b37d8c87e2626d5969b4ea7f81b42022b6494b5;hb=dd9be86db6cde0afa5da0d1d1ac43b42e05dca26;hpb=bf0b74f67b87b2361529cefaae45533e5935a9c4 diff --git a/src/lib/send_kdm_email_job.cc b/src/lib/send_kdm_email_job.cc index 5b37d8c87..cea35e3c5 100644 --- a/src/lib/send_kdm_email_job.cc +++ b/src/lib/send_kdm_email_job.cc @@ -1,59 +1,89 @@ /* - Copyright (C) 2013 Carl Hetherington + Copyright (C) 2013-2020 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 . */ #include "send_kdm_email_job.h" #include "compose.hpp" +#include "kdm_with_metadata.h" #include "film.h" -#include "cinema_kdms.h" #include #include "i18n.h" using std::string; using std::list; -using boost::shared_ptr; +using std::shared_ptr; +using boost::optional; + +SendKDMEmailJob::SendKDMEmailJob ( + list kdms, + dcp::NameFormat container_name_format, + dcp::NameFormat filename_format, + string cpl_name + ) + : Job (shared_ptr()) + , _container_name_format (container_name_format) + , _filename_format (filename_format) + , _cpl_name (cpl_name) +{ + BOOST_FOREACH (KDMWithMetadataPtr i, kdms) { + list s; + s.push_back (i); + _kdms.push_back (s); + } +} +/** @param 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. + */ SendKDMEmailJob::SendKDMEmailJob ( - string film_name, - string cpl_name, - boost::posix_time::ptime from, - boost::posix_time::ptime to, - list cinema_kdms + list > kdms, + dcp::NameFormat container_name_format, + dcp::NameFormat filename_format, + string cpl_name ) : 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) + , _kdms (kdms) { } +SendKDMEmailJob::~SendKDMEmailJob () +{ + stop_thread (); +} + string SendKDMEmailJob::name () const { - if (_film_name.empty ()) { + optional 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 %2"), *f); } string @@ -66,7 +96,7 @@ void SendKDMEmailJob::run () { set_progress_unknown (); - CinemaKDMs::email (_film_name, _cpl_name, _cinema_kdms, _from, _to); + email (_kdms, _container_name_format, _filename_format, _cpl_name); set_progress (1); set_state (FINISHED_OK); }