Skip to content

Feature/gphoto2#95

Merged
esto-openscan merged 6 commits into
OpenScan-org:developfrom
esto-openscan:feature/gphoto2
Apr 8, 2026
Merged

Feature/gphoto2#95
esto-openscan merged 6 commits into
OpenScan-org:developfrom
esto-openscan:feature/gphoto2

Conversation

@esto-openscan
Copy link
Copy Markdown
Member

This PR refactors the gphoto2 camera controller and adds ready to use profiles for Canon EOS700D and Nikon D7100.

…ced metadata handling

- Introduced "raw" format alias for legacy compatibility with `capture_dng`.
- Added `_infer_raw_file_info` to extract metadata and determine file type extensions (e.g., `.cr2`, `.cr3`, `.dng`).
- Updated routers, models, and configurations to accept and process "raw" format.
- Extended Canon EOS 700D profile for improved RAW capture error handling and fallback logic.
- Updated tests to validate "raw" format processing and file extension inference.
- Expanded unsupported photo suffixes in cloud service to include RAW-related extensions.
- Added `_encode_url_path` utility to handle URL-encoding of path components.
- Updated URL generation in `get_photo_with_metadata` to use encoded paths.
- Added test case to validate proper encoding of camera names in payload URLs.
- Introduced detailed diagnostics in `gphoto2` controllers with expanded configuration and error reporting.
- Implemented fallback logic for "Unspecified error" during capture on specific camera models.
- Enhanced camera detection and diagnostics in `/next/develop`.
- Added logging for unexpected errors in photo requests and runtime failures.
…SO mapping

- Introduced a dedicated Nikon D7100 GPhoto2 profile with tailored startup configuration, RAW capture support, and ISO mapping.
- Enhanced `profile_registry` to register Nikon D7100-specific behavior.
- Added robust error handling and fallback logic for RAW mode switching and capture routing.
…ogic

- Introduced `profile_helpers` for reusable profile implementations, including ISO mapping, shutter choice selection, and RAW filename checks.
- Replaced inline logic with modular functions across Nikon D7100, Canon EOS 700D, and Generic profiles.
- Enhanced RAW capture routes with retry and diagnostics support.
- Updated session methods (`write_config` and `read_config`) to provide explicit success/error details and maintain backward compatibility.
…ment

- Modified `profile_registry` to dynamically discover and register all camera profiles at startup.
- Removed manual profile registration, simplifying the addition of new profiles.
- Updated documentation to reflect the automatic profile discovery process.
- Enhanced configuration methods in `session.py` for consistency and clarity.
- Deprecated unused backward-compatible helpers in `session.py`.
@esto-openscan esto-openscan merged commit 51821f9 into OpenScan-org:develop Apr 8, 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