<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_artifact_url(context, task_id, path):
 """Get a TaskCluster artifact url. Args: context (scriptworker.context.Context):
 the scriptworker context task_id (str):
 the task id of the task that published the artifact path (str):
 the relative path of the artifact Returns: str: the artifact url Raises: TaskClusterFailure: on failure. """

    if path.startswith("public/"):
        url = context.queue.buildUrl('getLatestArtifact', task_id, path)
    else:
        url = context.queue.buildSignedUrl(
            'getLatestArtifact', task_id, path,
            # XXX Can set expiration kwarg in (int) seconds from now;
            # defaults to 15min.
        )

    return url