# Basic example for running MTurk data collection against a Space
# For more information see https://docs.aws.amazon.com/mturk/index.html

import boto3
from boto.mturk.question import HTMLQuestion

from config import MTURK_KEY, MTURK_SECRET

MTURK_REGION = "us-east-1"
MTURK_SANDBOX = "https://mturk-requester-sandbox.us-east-1.amazonaws.com"

mturk = boto3.client(
    "mturk",
    aws_access_key_id=MTURK_KEY,
    aws_secret_access_key=MTURK_SECRET,
    region_name=MTURK_REGION,
    endpoint_url=MTURK_SANDBOX,
)

# The + in the URL makes the Space easily embeddable in an iframe
question = HTMLQuestion(
    """
    <!DOCTYPE html>
    <html>
    	<body>
    		<iframe src="https://hf.space/embed/Tristan/dadc/+"></iframe>
    	</body>
    </html>
    """,
    frame_height=600
)

#<gradio-app space="Tristan/dadc/+?assignmentID=3UAU495MJU632HGLO12HZWVGBUDUOM"></gradio-app>
new_hit = mturk.create_hit(
    Title="DADC with Gradio",
    Description="Hello world",
    Keywords="fool the model",
    Reward="0.15",
    MaxAssignments=1,
    LifetimeInSeconds=172800,
    AssignmentDurationInSeconds=600,
    AutoApprovalDelayInSeconds=14400,
    Question=question.get_as_xml(),
)

print(
    "Sandbox link: https://workersandbox.mturk.com/mturk/preview?groupId="
    + new_hit["HIT"]["HITGroupId"]
)

print("Hit Id:", new_hit["HIT"]["HITId"])