[Fixes #13479] cannot upload geojson/3dtiles from zip file#13480
[Fixes #13479] cannot upload geojson/3dtiles from zip file#13480mattiagiupponi merged 10 commits intomasterfrom
Conversation
There was a problem hiding this comment.
Summary of Changes
Hello @mattiagiupponi, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request addresses a critical issue preventing the upload of GeoJSON and 3D Tiles data when packaged within a zip file. It introduces necessary modifications to the file handling logic for these data types, allowing the system to correctly parse and process content from zip archives. Additionally, it includes improvements to temporary file management and asset linking, contributing to a more stable and efficient upload workflow.
Highlights
- Zip File Upload Support: Enabled direct upload of GeoJSON and 3D Tiles data when provided within a zip archive, resolving the issue of inability to process these formats from compressed files.
- Handler Property for Table Creation: Introduced a "have_table" property in file handlers to control the creation of dynamic database models, ensuring proper handling for different data types (e.g., vector data not creating tables).
- Temporary File Cleanup: Improved resource cleanup by ensuring temporary zip and KMZ files are removed after successful pre-processing, preventing accumulation of transient data.
- Asset Creation Robustness: Enhanced robustness in asset creation by verifying the existence of the asset directory before proceeding, preventing potential errors during the asset generation process.
- 3D Tiles Asset Handling: Refined the process for linking 3D Tiles assets and calculating their bounding box during resource creation, ensuring accurate representation and metadata for 3D geospatial content.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Code Review
This pull request introduces support for uploading GeoJSON and 3D Tiles files from ZIP archives, which resolves issue #13479. The changes include adding logic to the respective handlers to read data from within zip files and updating the asset creation flow. My review has identified a couple of issues: a critical copy-paste error in the zip file cleanup logic that could lead to incorrect file deletion, and a potential TypeError that could crash the import process if a base_file is not found. I've provided suggestions to fix both of these issues.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #13480 +/- ##
==========================================
- Coverage 73.75% 73.72% -0.04%
==========================================
Files 919 919
Lines 54097 54123 +26
Branches 6159 6167 +8
==========================================
+ Hits 39901 39902 +1
- Misses 12597 12619 +22
- Partials 1599 1602 +3 🚀 New features to boost your workflow:
|
ref #13479
Checklist
For all pull requests:
The following are required only for core and extension modules (they are welcomed, but not required, for contrib modules):
Submitting the PR does not require you to check all items, but by the time it gets merged, they should be either satisfied or inapplicable.