Skip to content

Commit a8551c0

Browse files
committed
Wrap RequestException
1 parent 19b18ba commit a8551c0

2 files changed

Lines changed: 23 additions & 12 deletions

File tree

roboflow/adapters/rfapi.py

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from typing import Optional
55

66
import requests
7+
from requests.exceptions import RequestException
78
from requests_toolbelt.multipart.encoder import MultipartEncoder
89

910
from roboflow.config import API_URL, DEFAULT_BATCH_NAME, DEFAULT_JOB_NAME
@@ -85,14 +86,21 @@ def upload_image(
8586
"file": ("imageToUpload", imgjpeg, "image/jpeg"),
8687
}
8788
)
88-
response = requests.post(upload_url, data=m, headers={"Content-Type": m.content_type}, timeout=(300, 300))
89+
90+
try:
91+
response = requests.post(upload_url, data=m, headers={"Content-Type": m.content_type}, timeout=(300, 300))
92+
except RequestException as e:
93+
raise ImageUploadError(str(e)) from e
8994

9095
else:
9196
# Hosted image upload url
9297
upload_url = _hosted_upload_url(api_key, project_url, image_path, split, coalesced_batch_name, tag_names)
9398

94-
# Get response
95-
response = requests.post(upload_url, timeout=(300, 300))
99+
try:
100+
# Get response
101+
response = requests.post(upload_url, timeout=(300, 300))
102+
except RequestException as e:
103+
raise ImageUploadError(str(e)) from e
96104

97105
responsejson = None
98106
try:
@@ -147,12 +155,15 @@ def save_annotation(
147155
api_key, project_url, annotation_name, image_id, job_name, is_prediction, overwrite
148156
)
149157

150-
response = requests.post(
151-
upload_url,
152-
data=json.dumps({"annotationFile": annotation_string, "labelmap": annotation_labelmap}),
153-
headers={"Content-Type": "application/json"},
154-
timeout=(60, 60),
155-
)
158+
try:
159+
response = requests.post(
160+
upload_url,
161+
data=json.dumps({"annotationFile": annotation_string, "labelmap": annotation_labelmap}),
162+
headers={"Content-Type": "application/json"},
163+
timeout=(60, 60),
164+
)
165+
except RequestException as e:
166+
raise AnnotationSaveError(str(e)) from e
156167

157168
# Handle response
158169
responsejson = None

roboflow/core/project.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import requests
1212

1313
from roboflow.adapters import rfapi
14-
from roboflow.adapters.rfapi import ImageUploadError
14+
from roboflow.adapters.rfapi import ImageUploadError, AnnotationSaveError
1515
from roboflow.config import API_URL, DEMO_KEYS
1616
from roboflow.core.version import Version
1717
from roboflow.util.general import Retry
@@ -521,7 +521,7 @@ def save_annotation(
521521
annotation_name, annotation_str = self._annotation_params(annotation_path)
522522
t0 = time.time()
523523
upload_retry_attempts = 0
524-
retry = Retry(num_retry_uploads, ImageUploadError)
524+
retry = Retry(num_retry_uploads, AnnotationSaveError)
525525

526526
try:
527527
annotation = rfapi.save_annotation(
@@ -536,7 +536,7 @@ def save_annotation(
536536
overwrite=annotation_overwrite,
537537
)
538538
upload_retry_attempts = retry.retries
539-
except ImageUploadError as e:
539+
except AnnotationSaveError as e:
540540
e.retries = upload_retry_attempts
541541
raise
542542

0 commit comments

Comments
 (0)