/*
- 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 "kdm_with_metadata.h"
#include "film.h"
-#include "cinema_kdms.h"
#include <list>
#include "i18n.h"
+
using std::string;
using std::list;
-using boost::shared_ptr;
+using std::shared_ptr;
+using boost::optional;
+
-/** @param log Log to write to, or 0 */
SendKDMEmailJob::SendKDMEmailJob (
- string film_name,
- string cpl_name,
- boost::posix_time::ptime from,
- boost::posix_time::ptime to,
- list<CinemaKDMs> cinema_kdms,
- shared_ptr<Log> log
+ list<KDMWithMetadataPtr> kdms,
+ dcp::NameFormat container_name_format,
+ dcp::NameFormat filename_format,
+ string cpl_name
)
: Job (shared_ptr<Film>())
- , _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)
+{
+ for (auto i: kdms) {
+ list<KDMWithMetadataPtr> 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 (
+ list<list<KDMWithMetadataPtr> > kdms,
+ dcp::NameFormat container_name_format,
+ dcp::NameFormat filename_format,
+ string cpl_name
+ )
+ : Job (shared_ptr<Film>())
+ , _container_name_format (container_name_format)
+ , _filename_format (filename_format)
+ , _cpl_name (cpl_name)
+ , _kdms (kdms)
{
}
+
+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, dcp::LocalTime (_from), dcp::LocalTime (_to), _log);
+ send_emails (_kdms, _container_name_format, _filename_format, _cpl_name);
set_progress (1);
set_state (FINISHED_OK);
}