Cleanup: remove some duplicated code.
authorCarl Hetherington <cth@carlh.net>
Sat, 19 Mar 2022 18:34:22 +0000 (19:34 +0100)
committerCarl Hetherington <cth@carlh.net>
Sat, 19 Mar 2022 18:34:22 +0000 (19:34 +0100)
src/lib/kdm_with_metadata.cc

index e3c0d9204a065aee1c3f31d202f54d6c265357f6..716d29d9c49495b5b27b4bbfb4f9afc6b73fa31a 100644 (file)
@@ -220,17 +220,16 @@ send_emails (
                zip_file /= container_name_format.get(i.front()->name_values(), ".zip");
                make_zip_file (i, zip_file, filename_format);
 
-               auto subject = config->kdm_subject();
-               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()->get('c').get_value_or(""));
-
-               auto body = config->kdm_email();
-               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()->get('c').get_value_or(""));
+               auto substitute_variables = [cpl_name, i](string target) {
+                       boost::algorithm::replace_all (target, "$CPL_NAME", cpl_name);
+                       boost::algorithm::replace_all (target, "$START_TIME", i.front()->get('b').get_value_or(""));
+                       boost::algorithm::replace_all (target, "$END_TIME", i.front()->get('e').get_value_or(""));
+                       boost::algorithm::replace_all (target, "$CINEMA_NAME", i.front()->get('c').get_value_or(""));
+                       return target;
+               };
+
+               auto subject = substitute_variables(config->kdm_subject());
+               auto body = substitute_variables(config->kdm_email());
 
                string screens;
                for (auto j: i) {