summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2022-09-03 22:52:19 +0200
committerCarl Hetherington <cth@carlh.net>2022-09-03 22:52:21 +0200
commit259dd8a083b987d2d154b12859cd90f7c8dcb607 (patch)
tree3a321bc542508d79b93105ca107bd0b6d68aa6de
parent0a5d3c77247d3e68a144bfc077c29fbcf3819735 (diff)
Remove - and + from ratings before using them in a DCNC name.
I can't find any documentation about what we should do here, but at least this rule fits what https://registry-page.isdcf.com/ratings/ does.
-rw-r--r--src/lib/film.cc5
-rw-r--r--test/isdcf_name_test.cc4
2 files changed, 6 insertions, 3 deletions
diff --git a/src/lib/film.cc b/src/lib/film.cc
index 37720025b..4e133a90d 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -973,7 +973,10 @@ Film::isdcf_name (bool if_created_now) const
if (_ratings.empty ()) {
d += "-NR";
} else {
- d += "-" + _ratings[0].label;
+ auto label = _ratings[0].label;
+ boost::erase_all(label, "+");
+ boost::erase_all(label, "-");
+ d += "-" + label;
}
}
diff --git a/test/isdcf_name_test.cc b/test/isdcf_name_test.cc
index 4d17f704c..d64f45b89 100644
--- a/test/isdcf_name_test.cc
+++ b/test/isdcf_name_test.cc
@@ -96,9 +96,9 @@ BOOST_AUTO_TEST_CASE (isdcf_name_test)
film->set_interop (false);
BOOST_CHECK_EQUAL (film->isdcf_name(false), "MyNiceFilmWith_TLR-2_S_DE-fr_US-R_MOS_4K_DI_20140704_PPF_SMPTE_OV");
- /* Test to see that RU ratings like 6+ survive */
+ /* Test to see that RU ratings like 6+ are stripped of their + */
film->set_ratings({dcp::Rating("RARS", "6+")});
- BOOST_CHECK_EQUAL (film->dcp_name(false), "MyNiceFilmWith_TLR-2_S_DE-fr_US-6+_MOS_4K_DI_20140704_PPF_SMPTE_OV");
+ BOOST_CHECK_EQUAL (film->dcp_name(false), "MyNiceFilmWith_TLR-2_S_DE-fr_US-6_MOS_4K_DI_20140704_PPF_SMPTE_OV");
film->set_ratings({dcp::Rating("MPA", "R")});
/* Test interior aspect ratio: shouldn't be shown with trailers */