roboflow / roboflow/roboflow-python
Clarity between `hosted_image` and `is_hosted` in `Project.upload`
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 629
- Forks
- 140
- Ø Merge
- 2 T. 2 Std.
- Gemergte PRs (30 T.)
- 5
Beschreibung
I find it confusing that in Project.upload there's both a hosted_image: boolargument set by the user, and an internal is_hosted, that determines which errors may be thrown.
By setting hosted_image it's possible to bypass checks and send the image to Roboflow, which promptly returns a 500 code.
Still, maybe there's a reason behind it?
Test code:
import roboflow
img_path = "<path_to_img>"
rf = roboflow.Roboflow(api_key="API_KEY")
workspace_id = "<ws ID>"
project_id = "<proj ID>"
workspace = rf.workspace(workspace_id)
project = workspace.project(project_id)
project.upload(img_path, hosted_image=True)
This raises:
File ... /roboflow/adapters/rfapi.py:90, in upload_image(api_key, project_url, image_path, hosted_image, split, batch_name, tag_names, sequence_number, sequence_size, **kwargs)
UploadError: Bad response: 500: {'error': 'Unknown error'}
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne bei Project.upload und roboflow/adapters/rfapi.py:90, wo berichtet wird, dass upload_image nach einer 500-Antwort UploadError auslöst. Verfolge, wie hosted_image und das interne is_hosted interpretiert werden, und vergleiche die Validierungs- und Fehlerpfade. Die Aufgabe ist abgeschlossen, wenn ihre Unterscheidung und das erwartete Verhalten explizit sind und der gezeigte Aufruf die Prüfungen nicht mehr umgeht und in einem unerklärten Serverfehler endet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- api, backend-api-design, computer-vision
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 30/100