/*
- Copyright (C) 2013 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013-2021 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
*/
-#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 <list>
#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<KDMWithMetadataPtr> kdms,
+ dcp::NameFormat container_name_format,
+ dcp::NameFormat filename_format,
+ string cpl_name,
+ vector<string> extra_addresses
+ )
+ : Job (shared_ptr<Film>())
+ , _container_name_format (container_name_format)
+ , _filename_format (filename_format)
+ , _cpl_name (cpl_name)
+ , _extra_addresses (extra_addresses)
+{
+ for (auto i: kdms) {
+ list<KDMWithMetadataPtr> s;
+ s.push_back (i);
+ _kdms.push_back (s);
+ }
+}
+
-/** @param cinema_kdms KDMs to email.
+/** @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.
- * @param log Log to write to, or 0.
*/
SendKDMEmailJob::SendKDMEmailJob (
- list<CinemaKDMs> cinema_kdms,
+ list<list<KDMWithMetadataPtr> > kdms,
dcp::NameFormat container_name_format,
dcp::NameFormat filename_format,
- dcp::NameFormat::Map name_values,
string cpl_name,
- shared_ptr<Log> log
+ vector<string> extra_addresses
)
: Job (shared_ptr<Film>())
, _container_name_format (container_name_format)
, _filename_format (filename_format)
- , _name_values (name_values)
, _cpl_name (cpl_name)
- , _cinema_kdms (cinema_kdms)
- , _log (log)
+ , _kdms (kdms)
+ , _extra_addresses (extra_addresses)
{
}
+
+SendKDMEmailJob::~SendKDMEmailJob ()
+{
+ stop_thread ();
+}
+
+
string
SendKDMEmailJob::name () const
{
- dcp::NameFormat::Map::const_iterator i = _name_values.find ('f');
- if (i == _name_values.end() || i->second.empty ()) {
+ auto f = _kdms.front().front()->get('f');
+ if (!f || f->empty()) {
return _("Email KDMs");
}
- return String::compose (_("Email KDMs for %1"), i->second);
+ 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 (_cinema_kdms, _container_name_format, _filename_format, _name_values, _cpl_name, _log);
+ send_emails (_kdms, _container_name_format, _filename_format, _cpl_name, _extra_addresses);
set_progress (1);
set_state (FINISHED_OK);
}