def test_get_set_settings(tmpdir): tmpdir = Path(tmpdir) projects = sa.search_projects(PROJECT_NAME, return_metadata=True) for project in projects: sa.delete_project(project) sa.create_project(PROJECT_NAME, "tt", "Vector") old_settings = sa.get_project_settings(PROJECT_NAME) print(old_settings) for setting in old_settings: if "attribute" in setting and setting["attribute"] == "Brightness": brightness_value = setting["value"] new_settings = sa.set_project_settings(PROJECT_NAME, [{ "attribute": "Brightness", "value": brightness_value + 10 }]) assert new_settings[0]["value"] == brightness_value + 10 time.sleep(1) new_settings = sa.get_project_settings(PROJECT_NAME) for setting in new_settings: if "attribute" in setting and setting["attribute"] == "Brightness": new_brightness_value = setting["value"] assert new_brightness_value == brightness_value + 10
def test_create_from_full_info(): projects = sa.search_projects(PROJECT_NAME1, return_metadata=True) for project in projects: sa.delete_project(project) project = sa.create_project(PROJECT_NAME1, "test", "Vector") sa.upload_images_from_folder_to_project( project, "./tests/sample_project_vector" ) sa.create_annotation_classes_from_classes_json( project, "./tests/sample_project_vector/classes/classes.json" ) old_settings = sa.get_project_settings(PROJECT_NAME1) for setting in old_settings: if "attribute" in setting and setting["attribute"] == "Brightness": brightness_value = setting["value"] sa.set_project_settings( PROJECT_NAME1, [{ "attribute": "Brightness", "value": brightness_value + 10 }] ) team_users = sa.search_team_contributors() sa.share_project(PROJECT_NAME1, team_users[1], "QA") project_metadata = sa.get_project_metadata( project, include_annotation_classes=True, include_settings=True, include_workflow=True, include_contributors=True ) project_metadata["name"] = PROJECT_NAME2 print(project_metadata) projects = sa.search_projects(PROJECT_NAME2, return_metadata=True) for project in projects: sa.delete_project(project) sa.create_project_from_metadata(project_metadata) new_project_metadata = sa.get_project_metadata( PROJECT_NAME2, include_annotation_classes=True, include_settings=True, include_workflow=True, include_contributors=True ) for u in new_project_metadata["contributors"]: if u["user_id"] == team_users[1]: break else: assert False assert len(new_project_metadata["annotation_classes"]) == len( project_metadata["annotation_classes"] ) assert len(new_project_metadata["settings"]) == len( project_metadata["settings"] ) for new_setting in new_project_metadata["settings"]: if "attribute" in new_setting and new_setting["attribute" ] == "Brightness": new_brightness_value = new_setting["value"] assert new_brightness_value == brightness_value + 10 assert len(new_project_metadata['workflow']) == len( project_metadata["workflow"] )
def test_create_like_project(tmpdir): tmpdir = Path(tmpdir) projects = sa.search_projects(PROJECT_NAME, return_metadata=True) for project in projects: sa.delete_project(project) sa.create_project(PROJECT_NAME, "tt", "Vector") sa.create_annotation_class(PROJECT_NAME, "rrr", "#FFAAFF") old_settings = sa.get_project_settings(PROJECT_NAME) for setting in old_settings: if "attribute" in setting and setting["attribute"] == "Brightness": brightness_value = setting["value"] sa.set_project_settings(PROJECT_NAME, [{ "attribute": "Brightness", "value": brightness_value + 10 }]) sa.set_project_workflow(PROJECT_NAME, [{ "step": 1, "className": "rrr", "tool": 3 }]) users = sa.search_team_contributors() sa.share_project(PROJECT_NAME, users[1], "QA") projects = sa.search_projects(PROJECT_NAME2, return_metadata=True) for project in projects: sa.delete_project(project) new_project = sa.clone_project(PROJECT_NAME2, PROJECT_NAME, copy_contributors=True) assert new_project["description"] == "tt" assert new_project["type"] == 1 time.sleep(1) ann_classes = sa.search_annotation_classes(PROJECT_NAME2, return_metadata=True) assert len(ann_classes) == 1 assert ann_classes[0]["name"] == "rrr" assert ann_classes[0]["color"] == "#FFAAFF" new_settings = sa.get_project_settings(PROJECT_NAME2) for setting in new_settings: if "attribute" in setting and setting["attribute"] == "Brightness": new_brightness_value = setting["value"] assert new_brightness_value == brightness_value + 10 new_workflow = sa.get_project_workflow(PROJECT_NAME2) assert len(new_workflow) == 1 assert new_workflow[0]["className"] == "rrr" assert new_workflow[0]["tool"] == 3 new_project = sa.get_project_metadata(new_project["name"], include_contributors=True) assert len(new_project["contributors"]) == 1 assert new_project["contributors"][0]["user_id"] == users[1] assert new_project["contributors"][0][ "user_role"] == sa.user_role_str_to_int("QA")