<ul>
<li>Instru: {{zone.stats.instru}} ({{zone.stats.instru_percentage}})</li>
<li>SABAM: {{zone.stats.sabam}} ({{zone.stats.sabam_percentage}})</li>
- <li>CFWB: {{zone.stats.cfwb}} ({{zone.stats.cfwb_percentage}})</li>
- <li>French-speaking: {{zone.stats.french}} ({{zone.stats.french_percentage}})</li>
+ <li>CFWB: {{zone.stats.cfwb}} ({{zone.stats.cfwb_percentage}})
+ {% if zone.stats.quota_cfwb %}✅{% else %}❌{% endif %}
+ </li>
+ <li>French-speaking: {{zone.stats.french}} ({{zone.stats.french_percentage}}, % hors instrus)
+ {% if zone.stats.quota_french %}✅{% else %}❌{% endif %}
+ </li>
</ul></li>
</ul>
return '-'
return '%.2f%%' % (100. * self.french() / considered_tracks)
+ def quota_french(self):
+ # obligation de diffuser annuellement au moins 30% d'œuvres musicales de
+ # langue française
+ considered_tracks = self.count() - self.instru()
+ if considered_tracks == 0:
+ return True
+ return (100. * self.french() / considered_tracks) > 30.
+
+ def quota_cfwb(self):
+ # obligation de diffuser annuellement au moins 4,5% d'œuvres musicales
+ # émanant de la Communauté française
+ considered_tracks = self.count()
+ return (100. * self.cfwb() / considered_tracks) > 4.5
+
def new_files(self):
return self.count(nonstopfile__creation_timestamp__gte=self.from_date)