argilla-direct / src /spaces.py
Ben Burtenshaw
add oauth functionality
b3323d3
raw
history blame contribute delete
789 Bytes
import gradio as gr
from huggingface_hub import duplicate_space
def create_argilla_space(target_argilla_space, oauth_token: gr.OAuthToken | None):
if oauth_token is None:
return "Please log in to create an Argilla space."
url = duplicate_space(
from_id="argilla/argilla-template-space",
to_id=target_argilla_space,
private=False,
exist_ok=True,
token=oauth_token.token,
)
return repo_url_to_embed_url(url)
def repo_url_to_embed_url(url):
if url.startswith("https://huggingface.co/spaces/"):
space_id = url.split("/")[-1].replace("_", "-")
user_id = url.split("/")[-2].replace("_", "-")
embed_url = f"https://{user_id}-{space_id}.hf.space"
return embed_url
else:
return url