]> git.0d.be Git - django-panik-nonstop.git/commitdiff
adapt statistics to tracks with unset language
authorFrédéric Péters <fpeters@0d.be>
Thu, 16 Jul 2020 12:46:37 +0000 (14:46 +0200)
committerFrédéric Péters <fpeters@0d.be>
Thu, 16 Jul 2020 12:46:37 +0000 (14:46 +0200)
nonstop/templates/nonstop/statistics.html
nonstop/views.py

index 6bffc6e3403216c75529152305db9b3c46d642f4..a1cb9b2d376db1935e01db684c80284bfea8bbec 100644 (file)
   <li>CFWB: {{zone.stats.cfwb}} ({{zone.stats.cfwb_percentage}})
           {% if zone.stats.quota_cfwb %}✅{% else %}❌{% endif %}
   </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)
+  <li>French-speaking: {{zone.stats.french}} ({{zone.stats.french_percentage}},
+          % hors instrus et où la langue est connue)
           {% if zone.stats.quota_french %}✅{% else %}❌{% endif %}
   </li>
           {% if zone.stats.quota_french %}✅{% else %}❌{% endif %}
   </li>
+  <li>{% trans "Unset language:" %} {{zone.stats.unset_language}} ({{zone.stats.unset_language_percentage}})</li>
   </ul></li>
 </ul>
 
   </ul></li>
 </ul>
 
index 18a909d1ae3ee611b42a97b230c98c3cc009976a..f0eee55c520426247b6320f1a6e0cf8581041665 100644 (file)
@@ -151,11 +151,20 @@ class ZoneStats(object):
     def cfwb_percentage(self):
         return self.percentage(cfwb=True)
 
     def cfwb_percentage(self):
         return self.percentage(cfwb=True)
 
+    def unset_language(self):
+        return self.count(language='')
+
+    def unset_language_percentage(self):
+        return self.percentage(language='')
+
     def french(self):
         return self.count(language='fr')
 
     def french(self):
         return self.count(language='fr')
 
+    def unset_or_na_language(self):
+        return self.qs.filter(Q(language='') | Q(language='na')).count()
+
     def french_percentage(self):
     def french_percentage(self):
-        considered_tracks = self.count() - self.instru()
+        considered_tracks = self.count() - self.unset_or_na_language()
         if considered_tracks == 0:
             return '-'
         return '%.2f%%' % (100. * self.french() / considered_tracks)
         if considered_tracks == 0:
             return '-'
         return '%.2f%%' % (100. * self.french() / considered_tracks)
@@ -163,7 +172,7 @@ class ZoneStats(object):
     def quota_french(self):
         # obligation de diffuser annuellement au moins 30% d'œuvres musicales de
         # langue française
     def quota_french(self):
         # obligation de diffuser annuellement au moins 30% d'œuvres musicales de
         # langue française
-        considered_tracks = self.count() - self.instru()
+        considered_tracks = self.count() - self.unset_or_na_language()
         if considered_tracks == 0:
             return True
         return (100. * self.french() / considered_tracks) > 30.
         if considered_tracks == 0:
             return True
         return (100. * self.french() / considered_tracks) > 30.