File tree Expand file tree Collapse file tree 3 files changed +23
-5
lines changed Expand file tree Collapse file tree 3 files changed +23
-5
lines changed Original file line number Diff line number Diff line change 3
3
## Fix
4
4
* Make ` TypedArray ` class compatible with ` numpy ` versions ` >= 1.22.0 `
5
5
* ` project.upsert_review_queue ` quotas can now be in the inclusive range [ 0,1]
6
+ * Restore support for upserting html instructions to a project
6
7
7
8
# Version 3.11.0 (2021-12-15)
8
9
Original file line number Diff line number Diff line change @@ -317,12 +317,12 @@ def upsert_instructions(self, instructions_file: str):
317
317
318
318
Args:
319
319
instructions_file (str): Path to a local file.
320
- * Must be a pdf file
320
+ * Must be a pdf or html file
321
321
322
322
Raises:
323
323
ValueError:
324
324
* project must be setup
325
- * instructions file must have a ".pdf" extension
325
+ * instructions file must have a ".pdf" or ".html" extension
326
326
"""
327
327
328
328
if self .setup_complete is None :
@@ -338,10 +338,11 @@ def upsert_instructions(self, instructions_file: str):
338
338
f"This function has only been tested to work with the Editor front end. Found %s" ,
339
339
frontend .name )
340
340
341
- supported_instruction_formats = (".pdf" )
341
+ supported_instruction_formats = (".pdf" , ".html" )
342
342
if not instructions_file .endswith (supported_instruction_formats ):
343
343
raise ValueError (
344
- f"instructions_file must be a pdf. Found { instructions_file } " )
344
+ f"instructions_file must be a pdf or html file. Found { instructions_file } "
345
+ )
345
346
346
347
lfo = list (self .labeling_frontend_options ())[- 1 ]
347
348
instructions_url = self .client .upload_file (instructions_file )
Original file line number Diff line number Diff line change 1
1
import json
2
2
3
3
import pytest
4
+ import requests
4
5
5
6
from labelbox import Project , LabelingFrontend
6
7
from labelbox .exceptions import InvalidQueryError
@@ -97,7 +98,22 @@ def test_attach_instructions(client, project):
97
98
98
99
with pytest .raises (ValueError ) as exc_info :
99
100
project .upsert_instructions ('/tmp/file.invalid_file_extension' )
100
- assert "instructions_file must be a pdf. Found" in str (exc_info .value )
101
+ assert "instructions_file must be a pdf or html file. Found" in str (
102
+ exc_info .value )
103
+
104
+
105
+ def test_html_instructions (configured_project ):
106
+ html_file_path = '/tmp/instructions.html'
107
+ sample_html_str = "<html></html>"
108
+
109
+ with open (html_file_path , 'w' ) as file :
110
+ file .write (sample_html_str )
111
+
112
+ configured_project .upsert_instructions (html_file_path )
113
+ updated_ontology = configured_project .ontology ().normalized
114
+
115
+ instructions = updated_ontology .pop ('projectInstructions' )
116
+ assert requests .get (instructions ).text == sample_html_str
101
117
102
118
103
119
def test_same_ontology_after_instructions (
You can’t perform that action at this time.
0 commit comments