Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

S2 product StopIteration #142

Closed
jteulade opened this issue May 6, 2024 · 0 comments
Closed

S2 product StopIteration #142

jteulade opened this issue May 6, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@jteulade
Copy link
Contributor

jteulade commented May 6, 2024

With the following product
s3://sertit-projects-archives/projects/2021/CNES_MandatNational/Etude_incendies_ONF_SERTIT/Ariege/feux_ariege_sertit/Burnout/ref_20161028/bands
I have the following error:

Traceback (most recent call last):
  File "E:\JTeulade\repositories\stac\scripts\find_valid_product.py", line 33, in <module>
    path_products = get_path_products(PATH_TO_CRAWL)
  File "E:\JTeulade\repositories\stac\libs\sertit-utils\sertit\s3.py", line 99, in s3_env_wrapper
    return function(*_args, **_kwargs)
  File "E:\JTeulade\repositories\stac\stac\product.py", line 63, in get_path_products
    if all(d not in full_path.parts for d in BLACKLIST_DIRECTORIES) and check_product_and_fill_path(
  File "E:\JTeulade\repositories\stac\stac\product.py", line 103, in check_product_and_fill_path
    prod =  Reader().open(path_to_check, remove_tmp=True)
  File "e:\jteulade\repositories\eoreader\eoreader\reader.py", line 537, in open
    prod = self._open_path(
  File "e:\jteulade\repositories\eoreader\eoreader\reader.py", line 699, in _open_path
    prod = create_product(
  File "e:\jteulade\repositories\eoreader\eoreader\reader.py", line 966, in create_product
    prod = class_(
  File "e:\jteulade\repositories\eoreader\eoreader\products\optical\s2_product.py", line 175, in __init__
    super().__init__(product_path, archive_path, output_path, remove_tmp, **kwargs)
  File "e:\jteulade\repositories\eoreader\eoreader\products\optical\optical_product.py", line 116, in __init__
    super().__init__(product_path, archive_path, output_path, remove_tmp, **kwargs)
  File "e:\jteulade\repositories\eoreader\eoreader\products\product.py", line 250, in __init__
    self.name = self._get_name()
  File "e:\jteulade\repositories\eoreader\eoreader\products\product.py", line 439, in _get_name
    name = self._get_name_constellation_specific()
  File "e:\jteulade\repositories\eoreader\eoreader\products\optical\s2_product.py", line 490, in _get_name_constellation_specific
    next(self.path.glob("**/tileInfo.json")), print_file=False
StopIteration

I should catch the StopIteration error here and return a InvalidProductError

@jteulade jteulade added the bug Something isn't working label May 6, 2024
pixalytics added a commit to pixalytics-ltd/eoreader that referenced this issue Aug 12, 2024
* Fix sertit#140: replace QB satellite ID with QB02 satellite ID

* Fix sertit#142: catch StopIteration and return InvalidProductError

* Fix sertit#142: catch StopIteration in several products

* Fix sertit#142: raise InvalidProductError instead of log

* Fix sertit#145: remove nested=-1 for SPOT constellations, use the default nested=0 instead

* Fix sertit#145: update CHANGES.md

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix sertit#142: catch StopIteration and return InvalidProductError

* Avoid KeyError if a product metadata doesn't have a namespace

* sertit#142: catch StopIteration and return InvalidProductError

* sertit#156: catch InvalidProductError when we try to get cloud_coverage property

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* sertit#156: catch all InvalidProductError due to properties not found in metadata

* sertit#161: return an error if SPECTRAL_PROCESSING not found in metadata

* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/PyCQA/flake8: 7.0.0 → 7.1.0](PyCQA/flake8@7.0.0...7.1.0)

* FIX: Handle RCM and RS2 products that doesn't bundle their extent in a KML file sertit#155

* OPTIM: Search correctly nested metadata in the Reader (without accidentally using a recursive glob)

* sertit#152: add SGF in RS2 product type

* FIX: Fix error in looking for bands in Sentinel-2 L1C archived products sertit#168

* FIX: Handle wrongly recognized Planet products because of the recursive nested mtd in the Reader sertit#169

* FIX: Force the loading of `DimapV1` bands in `float32`

* FIX: Handle the case where fiona isn't installed anymore (with `geopandas 1.0`)

* FIX: Don't make `pystac` a mandatory requirement

* Use sertit.types.is_iterable

* Use sertit.types.make_iterable

* Correct typo

* FIX: Fix an unknown Planet bug that just appeared (`'...Path' has no len()`)

* CI: Remove for now end-to-end tests with Python 3.11 and 3.10.

* v0.21.2

* INSTALL: Remove `pystac[validation]` (as it is an optional dependency) from setup.py, and create a `stac` extra feature.

* Updates in CHANGES.md

* v0.21.2

* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/PyCQA/flake8: 7.1.0 → 7.1.1](PyCQA/flake8@7.1.0...7.1.1)
- [github.com/psf/black: 24.4.2 → 24.8.0](psf/black@24.4.2...24.8.0)

* FIX: Get better window name (if available) when writing bands on disk (in tmp folder) + update sertit's version to benefit to the vector's name

---------

Co-authored-by: jteulade <jules.teulade@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Rémi Braun <67311115+remi-braun@users.noreply.github.com>
Co-authored-by: BRAUN REMI <remi.braun@unistra.fr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant