From 259dd8a083b987d2d154b12859cd90f7c8dcb607 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 3 Sep 2022 22:52:19 +0200 Subject: [PATCH] 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. --- src/lib/film.cc | 5 ++++- test/isdcf_name_test.cc | 4 ++-- 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 */ -- 2.30.2