Example #1
0
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)
Example #2
0
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)
Example #3
0
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)
Example #5
0
 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]