Skip to content

Conversation

@Samk1710
Copy link

@Samk1710 Samk1710 commented Dec 8, 2025

EUVD Mirror Pipeline

The script has two modes:

  1. Backfill mode– pulls all historical data. This is intended run once locally and resultant data can be committed separately.
  2. Daily mode – collects updates for the previous day. GitHub Actions works on this mode.

As of now the PR focuses on the code, once reviewed and approved I can add the locally collected backfill data.

@Samk1710 Samk1710 requested a review from ziadhany December 11, 2025 14:06
Copy link

@ziadhany ziadhany left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Samk1710 The code looks good 🚀. Some nits for your consideration.

Comment on lines +176 to +178
if path.exists():
self.log(f"skip existing file: {path}")
return

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we skip updating the existing file?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We skip existing files to make the sync idempotent and resumable. If the script is interrupted or re-run, it won't overwrite data that was already successfully saved. Since the data is fetched using the dateUpdated param and updates are forward-only, which makes skipping previously written files safe.

sync_catalog.py Outdated
Comment on lines 195 to 196
if not isinstance(data, dict):
return {}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have any examples of this invalid output from the endpoint?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a safety check to handle unexpected API responses. The EUVD API could potentially return non-dict responses (e.g empty response, error strings, or malformed objects). Just a safety measure for now — don’t have a concrete example yet :)

@Samk1710
Copy link
Author

@Samk1710 The code looks good 🚀. Some nits for your consideration.

Thanks @ziadhany for the review, will make changes accordingly. Thanks a lot!

@Samk1710
Copy link
Author

I have made the changes as per suggestions. If any other changes are required, do let me know. Looking forward!

@Samk1710 Samk1710 requested a review from ziadhany December 19, 2025 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants