diff --git a/labelbox/schema/export_task.py b/labelbox/schema/export_task.py index fa84456aa..ad44e03ec 100644 --- a/labelbox/schema/export_task.py +++ b/labelbox/schema/export_task.py @@ -223,10 +223,10 @@ def _get_file_content( response = requests.get(file_info.file, timeout=30) response.raise_for_status() assert len( - response.text + response.content ) == file_info.offsets.end - file_info.offsets.start + 1, ( f"expected {file_info.offsets.end - file_info.offsets.start + 1} bytes, " - f"got {len(response.text)} bytes") + f"got {len(response.content)} bytes") return file_info, response.text @@ -482,6 +482,9 @@ def __str__(self): "metadata", "name", "result", + "result_url", + "errors", + "errors_url", "status", "type", "uid", @@ -549,6 +552,8 @@ def errors_url(self): raise ExportTask.ExportTaskException( "This property is only available for export_v2 tasks due to compatibility reasons, please use streamable errors instead" ) + if not self.has_errors(): + return None base_url = self._task.client.rest_endpoint return base_url + '/export-errors/' + self._task.uid + '/' + self._task.client.get_organization( ).uid diff --git a/tests/unit/conftest.py b/tests/unit/conftest.py index 175f02355..0e8de8185 100644 --- a/tests/unit/conftest.py +++ b/tests/unit/conftest.py @@ -124,6 +124,10 @@ def __init__(self, text: str, exception: Exception = None) -> None: def text(self): return self._text + @property + def content(self): + return self._text + def raise_for_status(self): if self._exception: raise self._exception