diff options
| author | Carl Hetherington <cth@carlh.net> | 2022-09-03 22:52:19 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2022-09-03 22:52:21 +0200 |
| commit | 259dd8a083b987d2d154b12859cd90f7c8dcb607 (patch) | |
| tree | 3a321bc542508d79b93105ca107bd0b6d68aa6de | |
| parent | 0a5d3c77247d3e68a144bfc077c29fbcf3819735 (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.cc | 5 | ||||
| -rw-r--r-- | 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 */ |
