Closed
Conversation
This commit introduces support for Amazon S3 storage alongside Google Cloud Storage. The application has been refactored to abstract storage operations, allowing for seamless switching between GCS and S3. Key changes include: - **S3 Integration**: A new `S3` class is added to handle S3 interactions using `boto3`. - **Abstract Storage**: The `Storage` ABC is extended to include a `scheme` property, and `GCS` implements it. - **URI Parsing**: `parse_uri` utility function is introduced to handle both `gs://` and `s3://` URIs, determining the appropriate storage scheme. - **App Refactoring**: The main `BurfApp` (formerly `GSUtilUIApp`) is updated to accept a `Storage` object, enabling dynamic storage backend selection. - **UI Updates**: Bindings, placeholders, and error messages are updated to reflect the dual storage support. - **Error Handling**: Improved error handling for S3-specific `ClientError` exceptions in `FileListView`. - **Dependencies**: `boto3` is added as a dependency. This enhancement significantly broadens the utility of Burf, allowing users to manage files across both major cloud storage providers. Co-authored-by: razeghi71 <razeghi71@gmail.com>
|
Cursor Agent can help with this pull request. Just |
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
This change introduces a StorageScheme enum to represent storage providers, improving type safety and code clarity. Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
Co-authored-by: razeghi71 <razeghi71@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds S3 support to the
burfapplication, allowing users to browse and manage S3 buckets and objects via the CLI.This change introduces a
Storageabstraction to support multiple cloud providers. The application now parses URIs (gs://ors3://) to dynamically select the appropriate backend. When no URI is provided, it defaults to GCS to maintain existing behavior, and users can switch to S3 vias3://prefixes in CLI arguments or the "Go to address" feature.