def main() -> None: set_logging() args = parse_args() main_obj = CreatingTestProject(annofabapi.build()) main_obj.main(organization_name=args.organization, project_title=args.project_title)
def build_annofabapi_resource(args: argparse.Namespace) -> annofabapi.Resource: """ annofabapi.Resourceインスタンスを生成する。 以下の順にAnnoFabの認証情報を読み込む。 1. `.netrc`ファイル 2. 環境変数`ANNOFAB_USER_ID` , `ANNOFAB_PASSWORD` 認証情報を読み込めなかった場合は、標準入力からUser IDとパスワードを入力させる。 Returns: annofabapi.Resourceインスタンス """ endpoint_url = get_endpoint_url(args) if endpoint_url != DEFAULT_ENDPOINT_URL: logger.info(f"AnnoFab WebAPIのエンドポイントURL: {endpoint_url}") try: return annofabapi.build_from_netrc(endpoint_url) except AnnofabApiException: logger.debug("`.netrc`ファイルにはAnnoFab認証情報が存在しなかった") # 環境変数から認証情報を取得する try: return annofabapi.build_from_env(endpoint_url) except AnnofabApiException: logger.debug("`環境変数`ANNOFAB_USER_ID` or `ANNOFAB_PASSWORD`が空だった") # 標準入力から入力させる login_user_id = "" while login_user_id == "": login_user_id = input("Enter AnnoFab User ID: ") login_password = "" while login_password == "": login_password = getpass.getpass("Enter AnnoFab Password: ") return annofabapi.build(login_user_id, login_password, endpoint_url=endpoint_url)
import os from pathlib import Path import annofabapi from annofabcli.common.facade import AnnofabApiFacade # プロジェクトトップに移動する os.chdir(os.path.dirname(os.path.abspath(__file__)) + "/../") inifile = configparser.ConfigParser() inifile.read("./pytest.ini", "UTF-8") annofab_config = dict(inifile.items("annofab")) project_id = annofab_config["project_id"] service = annofabapi.build() facade = AnnofabApiFacade(service) out_path = Path("./tests/out/facade") data_path = Path("./tests/data/facade") # # # def test_get_annotation_list_for_task(): # task_id = "20190317_3" # query = AnnotationQuery(label_id="728931a1-d0a2-442c-8e60-36c65ee7b878") # result = facade.get_annotation_list_for_task(project_id, task_id, query=query) # print(len(result)) # print(result) # # # class Test_to_annotation_query_from_cli: # def test_exists_label_name(self):
from annofabapi.dataclass.task import Task, TaskHistory from annofabapi.dataclass.webhook import Webhook from tests.utils_for_test import WrapperForTest # プロジェクトトップに移動する os.chdir(os.path.dirname(os.path.abspath(__file__)) + "/../") inifile = configparser.ConfigParser() inifile.read("./pytest.ini", "UTF-8") project_id = inifile["annofab"]["project_id"] task_id = inifile["annofab"]["task_id"] test_dir = Path("./tests/data") endpoint_url = inifile["annofab"].get("endpoint_url", None) if endpoint_url is not None: service = annofabapi.build(endpoint_url=endpoint_url) else: service = annofabapi.build() test_wrapper = WrapperForTest(service.api) class TestAnnotation: @classmethod def setup_class(cls): cls.input_data_id = test_wrapper.get_first_input_data_id_in_task( project_id, task_id) def test_get_editor_annotation(self): dict_obj, _ = service.api.get_editor_annotation( project_id, task_id, self.input_data_id) dataclass_obj = Annotation.from_dict(dict_obj)
def setup_class(cls): annofab_service = annofabapi.build() task, _ = annofab_service.api.get_task(project_id, task_id) cls.input_data_id = task["input_data_id_list"][0]