Skip to content

Jns 145#194

Closed
jnspitale wants to merge 22 commits into
mainfrom
jns-145
Closed

Jns 145#194
jnspitale wants to merge 22 commits into
mainfrom
jns-145

Conversation

@jnspitale
Copy link
Copy Markdown
Collaborator

@jnspitale jnspitale commented May 6, 2026

Addresses #145

Summary by CodeRabbit

Release Notes

  • Refactor

    • Enhanced file archival with automated timestamped backups of existing artifacts
    • Optimized file path handling across instrument loaders for improved efficiency
    • Added configurable label-reading methods for enhanced flexibility in data processing
  • Tests

    • Reorganized test structure for improved maintainability
  • Chores

    • Minor code formatting updates

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 6, 2026

Caution

Review failed

Pull request was closed or merged during review

Walkthrough

This PR modernizes file I/O handling across the codebase by introducing timestamped archival semantics in test infrastructure, adding configurable label-reading methods to host loaders, and refactoring file operations to use FCPath objects directly instead of retrieving local paths. Changes span the gold master, eight host loader modules, and supporting test files.

Changes

File I/O Modernization

Layer / File(s) Summary
Test Infrastructure
oops/gold_master/__init__.py
Archival flow refactored to use timestamped file replacement with get_local_path() and dated copies via .replace() instead of retrieve/rename/upload pattern; applied to both log and summary file handling.
Label Reading Parameterization
oops/hosts/cassini/uvis.py, oops/hosts/cassini/vims.py, oops/hosts/galileo/ssi/__init__.py, oops/hosts/juno/jiram/__init__.py, oops/hosts/juno/junocam/__init__.py, oops/hosts/voyager/iss.py
Added method parameter (default 'strict') to from_file signatures; label reading now uses Pds3Label(filespec, method=method) instead of hard-coded or missing method arguments.
Direct FCPath Usage
oops/hosts/cassini/iss.py, oops/hosts/galileo/ssi/__init__.py, oops/hosts/juno/jiram/__init__.py, oops/hosts/juno/junocam/__init__.py, oops/hosts/newhorizons/lorri.py, oops/hosts/voyager/iss.py
File loading changed to pass FCPath objects directly to VicarImage.from_file(), PdsTable(), and label readers; removed local_path retrieval steps in VICAR and index table construction.
Test Reorganization
tests/hosts/juno/__init__.py, tests/hosts/juno/junocam/*
Test module restructured to package layout; import paths updated to reference new tests.hosts.juno.junocam module location and oops.gold_master (relocated from oops.backplane.gold_master).
Minor Formatting
spicedb/__init__.py
Trailing separator line added for consistency.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • SETI/rms-oops#190: Modifies oops/hosts/galileo/ssi/__init__.py to replace local-path VICAR retrieval with direct Pds3Label(filespec) usage and VicarImage.from_file(filespec).
  • SETI/rms-oops#193: Both PRs update the same host loaders to pass FCPath directly and thread a method parameter for PDS3 label reading through multiple functions.
  • SETI/rms-oops#191: Both PRs replace pds3-based label parsing with pdsparser.Pds3Label(...) usage and add label-reading method parameters to host loader functions.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'Jns 145' is extremely vague and does not convey meaningful information about the changeset's main purpose or scope. Replace with a descriptive title that summarizes the primary changes, such as 'Refactor file loading to use Pds3Label and FCPath instead of local retrieval' or 'Replace local file retrieval with direct FCPath-based label and table loading'.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed Docstring coverage is 86.67% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@jnspitale jnspitale closed this May 6, 2026
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.

1 participant