print "\nBeginning test...\n" import uuid import datetime from boto.mturk.connection import MTurkConnection from boto.mturk.question import Question, QuestionContent, QuestionForm, AnswerSpecification, SelectionAnswer SHOW_XML = 1 print "Establishing Key ID..." AWS_ACCESS_KEY_ID = '124AK6CEGM0WVXGYT202' print "Establishing Access Key..." AWS_SECRET_ACCESS_KEY = 'X5UpQYZKU8s9KtZ6qn7FSABlIgxg14yOyuCjgI+1' print "Generating connection to the sandbox..." conn = MTurkConnection( aws_access_key_id = AWS_ACCESS_KEY_ID, aws_secret_access_key = AWS_SECRET_ACCESS_KEY, host = 'mechanicalturk.sandbox.amazonaws.com') print "Testing connection with a balance check..." print conn.get_account_balance() print "\nGenerating answer template...\n" answer_template = SelectionAnswer(style = 'radiobutton', selections = [ ['Attempted Data Entry', '1'], ['Communication', '2'], ['Spam from Telco', '3']]) if SHOW_XML: print answer_template.get_as_xml() print "\nGenerating sample question...\n" question_set = [['Question 1', 'This is spam'], ['Question 2', 'This is data entry'], ['Question 3', 'This is communication'], ['Question 4', 'This is Sparta']] question_array = [Question(identifier = str(uuid.uuid4()), content = QuestionContent(title = FROM_SET[0], text = FROM_SET[1]), answer_spec = answer_template) for FROM_SET in question_set] #sample_question = Question(identifier = str(uuid.uuid4()), content = QuestionContent(title = 'Question 1', text = 'This is totally spam'), answer_spec = answer_template) #print sample_question.get_as_xml() question_form = QuestionForm(questions = question_array) if SHOW_XML: print question_form.get_as_xml() print "\nConstructing HIT..." HIT_keywords = ['boto','textonic','test'] test_HIT = conn.create_hit(question = question_array[0], lifetime = 60*60, max_assignments = 2, title = 'Textonic test HIT 1', description = 'Sandbox test HIT from the Boto library for the Textonic project', keywords = HIT_keywords, reward = 0.85, duration = 60*10, approval_delay = 60*60*24, response_groups = ['Minimal', 'HITDetail', 'HITQuestion', 'HITAssignmentSummary']) print "\nValidating HIT..." print "Status: " + str(test_HIT.status) print test_HIT print ""