#include "config.h"
#include "dcpomatic_log.h"
#include "emailer.h"
-#include <boost/foreach.hpp>
#include <boost/function.hpp>
#include <boost/function.hpp>
using std::string;
using std::cout;
using std::list;
-using boost::shared_ptr;
+using std::shared_ptr;
using boost::optional;
using boost::function;
if (directory == "-") {
/* Write KDMs to the stdout */
- BOOST_FOREACH (KDMWithMetadataPtr i, kdms) {
+ for (auto i: kdms) {
cout << i->kdm_as_xml ();
++written;
}
}
/* Write KDMs to the specified directory */
- BOOST_FOREACH (KDMWithMetadataPtr i, kdms) {
+ for (auto i: kdms) {
boost::filesystem::path out = directory / careful_string_filter(name_format.get(i->name_values(), ".xml"));
if (!boost::filesystem::exists (out) || confirm_overwrite (out)) {
i->kdm_as_xml (out);
{
Zipper zipper (zip_file);
- BOOST_FOREACH (KDMWithMetadataPtr i, kdms) {
+ for (auto i: kdms) {
string const name = careful_string_filter(name_format.get(i->name_values(), ".xml"));
zipper.add (name, i->kdm_as_xml());
}
/** Collect a list of KDMWithMetadatas into a list of lists so that
- * each list contains the KDMs for one cinema.
+ * each list contains the KDMs for one list.
*/
list<list<KDMWithMetadataPtr> >
collect (list<KDMWithMetadataPtr> kdms)
{
list<list<KDMWithMetadataPtr> > grouped;
- BOOST_FOREACH (KDMWithMetadataPtr i, kdms) {
+ for (auto i: kdms) {
list<list<KDMWithMetadataPtr> >::iterator j = grouped.begin ();
while (j != grouped.end()) {
- if (j->front()->cinema() == i->cinema()) {
+ if (j->front()->group() == i->group()) {
j->push_back (i);
break;
}
}
-/** Write one directory per cinema into another directory */
+/** Write one directory per list into another directory */
int
write_directories (
- list<list<KDMWithMetadataPtr> > cinema_kdms,
+ list<list<KDMWithMetadataPtr> > kdms,
boost::filesystem::path directory,
dcp::NameFormat container_name_format,
dcp::NameFormat filename_format,
{
int written = 0;
- BOOST_FOREACH (list<KDMWithMetadataPtr> const & i, cinema_kdms) {
+ for (auto const& i: kdms) {
boost::filesystem::path path = directory;
- path /= container_name_format.get(i.front()->name_values(), "");
+ path /= container_name_format.get(i.front()->name_values(), "", "s");
if (!boost::filesystem::exists (path) || confirm_overwrite (path)) {
boost::filesystem::create_directories (path);
write_files (i, path, filename_format, confirm_overwrite);
/** Write one ZIP file per cinema into a directory */
int
write_zip_files (
- list<list<KDMWithMetadataPtr> > cinema_kdms,
+ list<list<KDMWithMetadataPtr> > kdms,
boost::filesystem::path directory,
dcp::NameFormat container_name_format,
dcp::NameFormat filename_format,
{
int written = 0;
- BOOST_FOREACH (list<KDMWithMetadataPtr> const & i, cinema_kdms) {
+ for (auto const& i: kdms) {
boost::filesystem::path path = directory;
- path /= container_name_format.get(i.front()->name_values(), ".zip");
+ path /= container_name_format.get(i.front()->name_values(), ".zip", "s");
if (!boost::filesystem::exists (path) || confirm_overwrite (path)) {
if (boost::filesystem::exists (path)) {
/* Creating a new zip file over an existing one is an error */
/** Email one ZIP file per cinema to the cinema.
- * @param cinema_kdms KDMS to email.
+ * @param kdms KDMs to email.
* @param container_name_format Format of folder / ZIP to use.
* @param filename_format Format of filenames to use.
* @param name_values Values to substitute into \p container_name_format and \p filename_format.
*/
void
email (
- list<list<KDMWithMetadataPtr> > cinema_kdms,
+ list<list<KDMWithMetadataPtr> > kdms,
dcp::NameFormat container_name_format,
dcp::NameFormat filename_format,
string cpl_name
throw NetworkError (_("No mail server configured in preferences"));
}
- BOOST_FOREACH (list<KDMWithMetadataPtr> const & i, cinema_kdms) {
+ for (auto const& i: kdms) {
- if (i.front()->cinema()->emails.empty()) {
+ if (i.front()->emails().empty()) {
continue;
}
boost::algorithm::replace_all (subject, "$CPL_NAME", cpl_name);
boost::algorithm::replace_all (subject, "$START_TIME", i.front()->get('b').get_value_or(""));
boost::algorithm::replace_all (subject, "$END_TIME", i.front()->get('e').get_value_or(""));
- boost::algorithm::replace_all (subject, "$CINEMA_NAME", i.front()->cinema()->name);
+ boost::algorithm::replace_all (subject, "$CINEMA_NAME", i.front()->get('c').get_value_or(""));
string body = config->kdm_email().c_str();
boost::algorithm::replace_all (body, "$CPL_NAME", cpl_name);
boost::algorithm::replace_all (body, "$START_TIME", i.front()->get('b').get_value_or(""));
boost::algorithm::replace_all (body, "$END_TIME", i.front()->get('e').get_value_or(""));
- boost::algorithm::replace_all (body, "$CINEMA_NAME", i.front()->cinema()->name);
+ boost::algorithm::replace_all (body, "$CINEMA_NAME", i.front()->get('c').get_value_or(""));
string screens;
- BOOST_FOREACH (KDMWithMetadataPtr j, i) {
+ for (auto j: i) {
optional<string> screen_name = j->get('n');
if (screen_name) {
screens += *screen_name + ", ";
}
boost::algorithm::replace_all (body, "$SCREENS", screens.substr (0, screens.length() - 2));
- Emailer email (config->kdm_from(), i.front()->cinema()->emails, subject, body);
+ Emailer email (config->kdm_from(), i.front()->emails(), subject, body);
- BOOST_FOREACH (string i, config->kdm_cc()) {
+ for (auto i: config->kdm_cc()) {
email.add_cc (i);
}
if (!config->kdm_bcc().empty ()) {