diff --git a/piwik/indico_piwik/queries/metrics.py b/piwik/indico_piwik/queries/metrics.py index e9fbcab..62a2719 100644 --- a/piwik/indico_piwik/queries/metrics.py +++ b/piwik/indico_piwik/queries/metrics.py @@ -40,7 +40,6 @@ class PiwikQueryReportEventMetricDownloads(PiwikQueryReportEventMetricBase): def _get_per_day_results(self, results): hits_calendar = {} - # Piwik returns hits as a list of hits per date for date, hits in results.iteritems(): day_hits = {'total': 0, 'unique': 0} if hits: diff --git a/piwik/indico_piwik/queries/utils.py b/piwik/indico_piwik/queries/utils.py index c9a427f..3ce84a9 100644 --- a/piwik/indico_piwik/queries/utils.py +++ b/piwik/indico_piwik/queries/utils.py @@ -10,7 +10,11 @@ def get_json_from_remote_server(func, default={}, **kwargs): """ rawjson = func(**kwargs) try: - return json.loads(rawjson) + data = json.loads(rawjson) + if isinstance(data, dict) and data.get('result') == 'error': + current_plugin.get_logger().error('The Piwik server responded with an error: {}'.format(data['message'])) + return {} + return data except Exception: current_plugin.get_logger().exception('Unable to load JSON from source {}'.format(str(rawjson))) return default