From e6d8ff940a9101a40fe7e0d692c85254d56fc99d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9?= Date: Tue, 30 Apr 2024 15:57:19 +0200 Subject: [PATCH 1/2] add dimension and metric filters --- tap_google_analytics/client.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tap_google_analytics/client.py b/tap_google_analytics/client.py index 010327b..9e82451 100644 --- a/tap_google_analytics/client.py +++ b/tap_google_analytics/client.py @@ -107,7 +107,7 @@ def _lookup_data_type(self, field_type, attribute, dimensions_ref, metrics_ref): @staticmethod def _generate_report_definition(report_def_raw): - report_definition = {"metrics": [], "dimensions": []} + report_definition = {"metrics": [], "dimensions": [], "metricFilter": None, "dimensionFilter": None} for dimension in report_def_raw["dimensions"]: report_definition["dimensions"].append({"name": dimension}) @@ -115,6 +115,12 @@ def _generate_report_definition(report_def_raw): for metric in report_def_raw["metrics"]: report_definition["metrics"].append(Metric(name=metric)) + if "metric_filter" in report_def_raw: + report_definition["metric_filter"] = report_def_raw["metric_filter"] + + if "dimension_filter" in report_def_raw: + report_definition["dimension_filter"] = report_def_raw["dimension_filter"] + # Add segmentIds to the request if the stream contains them if "segments" in report_def_raw: report_definition["segments"] = [ @@ -253,6 +259,8 @@ def _query_api(self, report_definition, state_filter, pageToken=None) -> RunRepo metrics=report_definition["metrics"], date_ranges=[DateRange(start_date=state_filter, end_date=self.end_date)], limit=self.page_size, + metric_filter=report_definition["metric_filter"], + dimension_filter=report_definition["dimension_filter"], offset=(pageToken or 0) * self.page_size, ) From 01dcef3a2935867c1ada96e97496f740d46d6794 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 30 Apr 2024 13:58:21 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes --- tap_google_analytics/client.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tap_google_analytics/client.py b/tap_google_analytics/client.py index 9e82451..b51f3ae 100644 --- a/tap_google_analytics/client.py +++ b/tap_google_analytics/client.py @@ -107,7 +107,12 @@ def _lookup_data_type(self, field_type, attribute, dimensions_ref, metrics_ref): @staticmethod def _generate_report_definition(report_def_raw): - report_definition = {"metrics": [], "dimensions": [], "metricFilter": None, "dimensionFilter": None} + report_definition = { + "metrics": [], + "dimensions": [], + "metricFilter": None, + "dimensionFilter": None, + } for dimension in report_def_raw["dimensions"]: report_definition["dimensions"].append({"name": dimension})