ソースを参照

fix float division by zero bug in score calculation

Thomas Pointhuber 10 年 前
コミット
fdad5f7cad
共有1 個のファイルを変更した16 個の追加4 個の削除を含む
  1. 16
    4
      searx/engines/__init__.py

+ 16
- 4
searx/engines/__init__.py ファイルの表示

@@ -142,16 +142,28 @@ def get_engines_stats():
142 142
         })
143 143
 
144 144
     for engine in pageloads:
145
-        engine['percentage'] = int(engine['avg'] / max_pageload * 100)
145
+        if max_pageload:
146
+            engine['percentage'] = int(engine['avg'] / max_pageload * 100)
147
+        else:
148
+            engine['percentage'] = 0
146 149
 
147 150
     for engine in results:
148
-        engine['percentage'] = int(engine['avg'] / max_results * 100)
151
+        if max_results:
152
+            engine['percentage'] = int(engine['avg'] / max_results * 100)
153
+        else:
154
+            engine['percentage'] = 0
149 155
 
150 156
     for engine in scores:
151
-        engine['percentage'] = int(engine['avg'] / max_score * 100)
157
+        if max_score:
158
+            engine['percentage'] = int(engine['avg'] / max_score * 100)
159
+        else:
160
+            engine['percentage'] = 0
152 161
 
153 162
     for engine in scores_per_result:
154
-        engine['percentage'] = int(engine['avg'] / max_score_per_result * 100)
163
+        if max_score_per_result:
164
+            engine['percentage'] = int(engine['avg'] / max_score_per_result * 100)
165
+        else:
166
+            engine['percentage'] = 0
155 167
 
156 168
     for engine in errors:
157 169
         if max_errors: