From 9c300c2aa22935f96fab05206292f78725e54b83 Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Thu, 29 Jul 2021 10:30:49 -0600 Subject: [PATCH 1/2] Update stactools to v0.2.1 --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 4478b53..04c3510 100644 --- a/setup.cfg +++ b/setup.cfg @@ -31,7 +31,7 @@ package_dir = = src packages = find_namespace: install_requires = - stactools[s3] @ git+https://github.com/stac-utils/stactools@c278e73476d8def30a8d25b23aac9c4110be681c + stactools[s3] == 0.2.1 [options.packages.find] where = src From 03e9d76c6c5a3a301822c3271fce83aba94192d5 Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Thu, 29 Jul 2021 10:52:24 -0600 Subject: [PATCH 2/2] Fix some typing and equality checks --- src/stactools/cop_dem/constants.py | 10 +++++----- src/stactools/cop_dem/stac.py | 2 +- tests/test_stac.py | 31 ++++++++++++++++++------------ 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/src/stactools/cop_dem/constants.py b/src/stactools/cop_dem/constants.py index faa9a12..6a9b5db 100644 --- a/src/stactools/cop_dem/constants.py +++ b/src/stactools/cop_dem/constants.py @@ -1,19 +1,19 @@ import datetime -from pystac import Provider, Link +from pystac import Provider, Link, ProviderRole COP_DEM_PLATFORM = "TanDEM-X" COP_DEM_EPSG = 4326 COP_DEM_PROVIDERS = [ - Provider("European Space Agency", - roles=["licensor"], + Provider("European Space Agency", + roles=[ProviderRole.LICENSOR], url=("https://spacedata.copernicus.eu/documents/20126/0/" "CSCDA_ESA_Mission-specific+Annex.pdf")), Provider("Sinergise", - roles=["producer", "processor"], + roles=[ProviderRole.PRODUCER, ProviderRole.PROCESSOR], url="https://registry.opendata.aws/copernicus-dem/"), Provider("OpenTopography", - roles=["host"], + roles=[ProviderRole.HOST], url=("https://portal.opentopography.org/" "datasetMetadata?otCollectionID=OT.032021.4326.1")) ] diff --git a/src/stactools/cop_dem/stac.py b/src/stactools/cop_dem/stac.py index 4818ffd..0689778 100644 --- a/src/stactools/cop_dem/stac.py +++ b/src/stactools/cop_dem/stac.py @@ -35,7 +35,7 @@ def create_item(href: str, bbox=bbox, datetime=OPENTOPOGRAPHY_DATETIME, properties={}, - stac_extensions={}) + stac_extensions=[]) p = re.compile(r'Copernicus_DSM_COG_(\d\d)_(.*)_DEM.tif') m = p.match(os.path.basename(href)) diff --git a/tests/test_stac.py b/tests/test_stac.py index 9b4adab..f7297e9 100644 --- a/tests/test_stac.py +++ b/tests/test_stac.py @@ -3,6 +3,7 @@ from pystac import Provider, MediaType from pystac.extensions.projection import ProjectionExtension +from pystac.provider import ProviderRole from stactools.cop_dem import stac @@ -31,19 +32,22 @@ def test_create_glo30_item(self): common_metadata = item.common_metadata self.assertEqual(common_metadata.platform, "TanDEM-X") self.assertEqual(common_metadata.gsd, 30) - self.assertEqual(common_metadata.providers, [ - Provider("European Space Agency", - roles=["licensor"], + expected_providers = [ + Provider("European Space Agency", + roles=[ProviderRole.LICENSOR], url=("https://spacedata.copernicus.eu/documents/20126/0/" "CSCDA_ESA_Mission-specific+Annex.pdf")), Provider("Sinergise", - roles=["producer", "processor"], + roles=[ProviderRole.PRODUCER, ProviderRole.PROCESSOR], url="https://registry.opendata.aws/copernicus-dem/"), Provider("OpenTopography", - roles=["host"], + roles=[ProviderRole.HOST], url=("https://portal.opentopography.org/" "datasetMetadata?otCollectionID=OT.032021.4326.1")) - ]) + ] + for expected, actual in zip(expected_providers, + common_metadata.providers): + self.assertDictEqual(expected.to_dict(), actual.to_dict()) self.assertEqual(common_metadata.license, "proprietary") projection = ProjectionExtension.ext(item) @@ -87,19 +91,22 @@ def test_create_glo90_item(self): common_metadata = item.common_metadata self.assertEqual(common_metadata.platform, "TanDEM-X") self.assertEqual(common_metadata.gsd, 90) - self.assertEqual(common_metadata.providers, [ - Provider("European Space Agency", - roles=["licensor"], + expected_providers = [ + Provider("European Space Agency", + roles=[ProviderRole.LICENSOR], url=("https://spacedata.copernicus.eu/documents/20126/0/" "CSCDA_ESA_Mission-specific+Annex.pdf")), Provider("Sinergise", - roles=["producer", "processor"], + roles=[ProviderRole.PRODUCER, ProviderRole.PROCESSOR], url="https://registry.opendata.aws/copernicus-dem/"), Provider("OpenTopography", - roles=["host"], + roles=[ProviderRole.HOST], url=("https://portal.opentopography.org/" "datasetMetadata?otCollectionID=OT.032021.4326.1")) - ]) + ] + for expected, actual in zip(expected_providers, + common_metadata.providers): + self.assertDictEqual(expected.to_dict(), actual.to_dict()) self.assertEqual(common_metadata.license, "proprietary") projection = ProjectionExtension.ext(item)