[rtags] Allow to 'derive' rtags
Since some releases, rtags (structure underlying uicfg) have selector and may be
copied using something like:
new_rtags = deepcopy(original_rtags)
new_rtags.__module__ = __name__
new_rtags.__select__ = custom_selector
The problem is that starting from that, both rtags wil diverge and changes in
original_rtags won't be considered, while we usually want to set a few specific
rules only in new_rtags. To fix this problem, this cset introduces the notion of
"derivated/parent" rtag, eg:
new_rtags = original_rtags.derive(__name__, custom_selector)
Beside easier copying, when using the above method changes in original_rtags
which are not overriden by new_rtags will be considered since it only hold its
specific rules but look among its parent chain for non-found keys.
Along the way, flake8 unittest_rtags.
Closes #16164880
<toc resource="main">
<title xml:lang="en">Site documentation</title>
<title xml:lang="fr">Documentation du site</title>
<section resource="standard_usage">
<title xml:lang="en">Standard use</title>
<title xml:lang="fr">Utilisation standard</title>
<section resource="bookmarks">
<title xml:lang="en">Using bookmarks</title>
<title xml:lang="fr">Utilisation des signets</title>
</section>
<section resource="search">
<title xml:lang="en">Search</title>
<title xml:lang="fr">Recherche</title>
</section>
<section resource="userprefs">
<title xml:lang="en">User preferences</title>
<title xml:lang="fr">Préférences utilisateur</title>
</section>
<section resource="add_content">
<title xml:lang="en">Add content to the site</title>
<title xml:lang="fr">Ajouter du contenu au site</title>
</section>
</section>
<section resource="advanced_usage">
<title xml:lang="en">Advanced use</title>
<title xml:lang="fr">Utilisation avancée</title>
<section resource="tut_rql">
<title xml:lang="en">"Relation Query Language" tutorial</title>
<title xml:lang="fr">Tutoriel "Relation Query Language"</title>
</section>
<section resource="custom_view">
<title xml:lang="en">Defining your own views</title>
<title xml:lang="fr">Définir ses propres vues</title>
</section>
</section>
<section resource="glossary">
<title xml:lang="en">Glossary</title>
<title xml:lang="fr">Glossaire</title>
</section>
<section resource="about">
<title xml:lang="fr">A propos de ce site</title>
<title xml:lang="en">About this site</title>
</section>
</toc>