From 7de0e7e1798af4ebd828ff8b91831bca98b3c583 Mon Sep 17 00:00:00 2001 From: Daniel Himmelstein Date: Tue, 12 Mar 2024 21:18:06 -0400 Subject: [PATCH] google.cloud.datastore add_filter warnings refs https://github.com/googleapis/python-datastore/issues/504 To get rid of: UserWarning: Detected filter using positional arguments. Prefer using the 'filter' keyword argument instead. --- articat/catalog_datastore.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/articat/catalog_datastore.py b/articat/catalog_datastore.py index dd943f1..e2643c8 100644 --- a/articat/catalog_datastore.py +++ b/articat/catalog_datastore.py @@ -7,6 +7,7 @@ from google.cloud import datastore from google.cloud.datastore import Client, Entity, Key +from google.cloud.datastore.query import PropertyFilter from articat.artifact import ID, Artifact, Metadata, Partition, Version, not_supplied from articat.catalog import Catalog @@ -91,16 +92,22 @@ def _lookup( and partition_dt_start == partition_dt_end ): query.add_filter( - "partition", "=", convert_to_datetime(partition_dt_start) + filter=PropertyFilter( + "partition", "=", convert_to_datetime(partition_dt_start) + ) ) else: if partition_dt_start is not None: query.add_filter( - "partition", ">=", convert_to_datetime(partition_dt_start) + filter=PropertyFilter( + "partition", ">=", convert_to_datetime(partition_dt_start) + ) ) if partition_dt_end is not None: query.add_filter( - "partition", "<", convert_to_datetime(partition_dt_end) + filter=PropertyFilter( + "partition", "<", convert_to_datetime(partition_dt_end) + ) ) query.order = ["-partition"] if version is not not_supplied: @@ -109,10 +116,14 @@ def _lookup( if metadata is not None: if metadata.schema_fields: for f in metadata.schema_fields: - query.add_filter("metadata.schema_fields", "=", f) + query.add_filter( + filter=PropertyFilter("metadata.schema_fields", "=", f) + ) if metadata.arbitrary is not None: for k, v in metadata.arbitrary.items(): - query.add_filter(f"metadata.arbitrary.{k}", "=", v) + query.add_filter( + filter=PropertyFilter(f"metadata.arbitrary.{k}", "=", v) + ) yield from query.fetch(limit) @classmethod