Source code for annofabapi.util.page

"""
Annofabの画面に関するユーティリティ関数を定義します。
"""


[docs] def create_video_editor_url(project_id: str, task_id: str, *, annotation_id: str | None = None, seek_seconds: float | None = None) -> str: """ 動画エディタ画面のURLを生成します。 Args: project_id: プロジェクトID task_id: タスクID annotation_id: アノテーションID seek_seconds: 動画の再生位置(単位は秒) Returns: 動画エディタ画面のURL (例: ``https://annofab.com/projects/p1/tasks/t1/timeline?#a1/3.3`` ) """ url = f"https://annofab.com/projects/{project_id}/tasks/{task_id}/timeline" if annotation_id is not None or seek_seconds is not None: url += "?#" if annotation_id is not None: url += annotation_id if seek_seconds is not None: url += f"/{round(seek_seconds, 3)}" return url
[docs] def create_image_editor_url(project_id: str, task_id: str, *, input_data_id: str | None = None, annotation_id: str | None = None) -> str: """ 画像エディタ画面のURLを生成します。 Args: project_id: プロジェクトID task_id: タスクID input_data_id: 入力データID annotation_id: アノテーションID。指定した場合は、input_data_idも指定する必要があります。 Returns: 画像エディタ画面のURL (例: ``https://annofab.com/projects/p1/tasks/t1/editor?#i1/a1`` ) """ url = f"https://annofab.com/projects/{project_id}/tasks/{task_id}/editor" if input_data_id is not None: url += f"?#{input_data_id}" if annotation_id is not None: if input_data_id is None: raise ValueError("'input_data_id' must be specified if 'annotation_id' is specified") url += f"/{annotation_id}" return url
[docs] def create_3dpc_editor_url( project_id: str, task_id: str, *, input_data_id: str | None = None, annotation_id: str | None = None, base_url: str = "https://d2rljy8mjgrfyd.cloudfront.net/3d-editor-latest/index.html", ) -> str: """ 3次元エディタ画面のURLを生成します。 Args: project_id: プロジェクトID task_id: タスクID input_data_id: 入力データID annotation_id: アノテーションID。指定した場合は、input_data_idも指定する必要があります。 base_url: 3次元エディタ画面のベースとなるURL。この部分はプラグインにより変更可能なので、引数として受け取るようにしました。 Returns: 3次元エディタ画面のURL (例: ``https://d2rljy8mjgrfyd.cloudfront.net/3d-editor-latest/index.html?p=p1&t=t1#/i1/a1`` ) """ url = f"{base_url}?p={project_id}&t={task_id}" if input_data_id is not None: url += f"#/{input_data_id}" if annotation_id is not None: if input_data_id is None: raise ValueError("'input_data_id' must be specified if 'annotation_id' is specified") url += f"/{annotation_id}" return url