Open-EO / Open-EO/openeo-python-driver
Clean up legacy job listing code paths
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 12
- Forks
- 8
- Avg merge
- 6d 3h
- Merged PRs (30d)
- 4
Description
Follow-up ticket of #332 and https://github.com/Open-EO/openeo-geopyspark-driver/issues/959 where I added support for pagination in batch job listing.
I tried to keep original, non-paginated code paths and behavior as this exercise spans multiple components and projects, so a migration path with backward compatibility is required. Once all components are migrated and everything works properly, the old code paths should be eliminated for the sake of keeping technical debt low here.
I marked various places to consider with TODO #332 in python driver
❯ rg "TODO #332"
openeo_driver/backend.py
391: # TODO #332 just implement as frozen dataclass, or does that conflict with later need to subclass?
461: # TODO #332 settle on returning just `JobListing` and eliminate other options/code paths.
openeo_driver/jobregistry.py
152: # TODO #332 settle on returning just `JobListing` and eliminate other options/code paths.
616: # TODO #332 avoid duplication of this default field set
665: # TODO #332 settle on returning just `JobListing` and eliminate other options/code paths.
678: # TODO #332 make this the one and only code path
693: # TODO #332 eliminate this code path
openeo_driver/views.py
899: # TODO #332 settle on receiving just `JobListing` here and eliminate other options/code paths.
902: # TODO #332 make this the one and only code path when all `get_user_jobs` implementations are migrated
905: # TODO #332 remove support for this old API
908: # TODO #332 while eliminating old `get_user_jobs` API above, also just settle on JobListing based return,
and TODO #959 in geopyspark driver:
openeogeotrellis/job_registry.py
695: # TODO #959 settle on returning just `JobListing` and eliminate other options/code paths.
964: # TODO #959 Settle on just handling JobListing and drop other legacy code path
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the TODO #332 locations in openeo_driver/backend.py, openeo_driver/jobregistry.py, and openeo_driver/views.py, then inspect the TODO #959 locations in openeogeotrellis/job_registry.py. Trace the migrated JobListing and get_user_jobs paths across the referenced components. Done means the components are migrated and the old job-listing code paths and compatibility branches can be removed without breaking behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100