def main(task_name, unreviewed_path, record_submission): SUCCESS_FILE = '%s.input.reject.success' % task_name REJECT_FILE = '%s.input.reject' % task_name UNREVIEWED_PATH = unreviewed_path def make_reject_bad_file(): turkutil.make_reject_bad_file(success_file=SUCCESS_FILE, reject_file=REJECT_FILE) def convert_hit(hit, line_sep='\n', data_sep='\t', pseudo=False, **kwargs): def do_record_submission(submission_dict, pseudo=pseudo): record_submission(submission_dict, many_dirs=True, pseudo=pseudo, **kwargs) turkutil.convert_hit(hit, record_submission=do_record_submission, line_sep=line_sep, data_sep=data_sep, pseudo=pseudo) parser = argparse.ArgumentParser(description='Converts results of a turk recognition submission to folders') parser.add_argument('--path', type=str, default=UNREVIEWED_PATH, help='What folder should should the tasks go in') parser.add_argument('files_to_convert', metavar='FILE', type=str, nargs='*', help='what files get converted to folders') parser.add_argument('--exclude-rejected', dest='exclude_rejected', action='store_true', help='do not save the rejected HITs') parser.add_argument('--exclude', dest='exclude_ids', metavar='FILE_OR_ID', type=str, nargs='*', help='rejected ids, or files to take rejected ids from') args = parser.parse_args() rejected_ids = set() if args.exclude_ids is None: args.exclude_ids = [] for ids in args.exclude_ids: if os.path.exists(ids) and os.path.isfile(ids): with open(ids, 'r') as f: ids = f.read().replace('\r', '\n').replace('\n\n', '\n').replace('\n', ',') rejected_ids = rejected_ids.union(ids.split(',')) if '' in rejected_ids: rejected_ids.remove('') for file_name in args.files_to_convert: if os.path.exists(file_name) and os.path.isfile(file_name): print('Converting ' + file_name + '...') with open(file_name, 'r') as f: hit = f.read().replace('\r', '\n').replace('\n\n', '\n') convert_hit(hit, pseudo=False, path=os.path.join(UNREVIEWED_PATH, args.path), exclude_rejected=args.exclude_rejected, exclude_ids=rejected_ids)#False) else: print('Invalid file name: ' + file_name) turkutil.make_reject_bad_file(SUCCESS_FILE, REJECT_FILE) os.system('echo > ' + SUBMISSION_LOG_PATH) # clean up log, or else it'll get too big
def make_reject_bad_file(): turkutil.make_reject_bad_file(success_file=SUCCESS_FILE, reject_file=REJECT_FILE)
hit, record_submission=do_record_submission, message=(lambda submission_dict: 'Saving %s for %s...' % (repr(get_alphabet_id_from_dict(submission_dict)), repr(submission_dict['workerid']))), line_sep=line_sep, data_sep=data_sep, pseudo=pseudo) if len(sys.argv) > 1: files_to_convert = sys.argv[1:] else: files_to_convert = list( set([ os.path.join(RESULTS_PATH, 'HIT-results.txt'), os.path.join(os.getcwd(), 'HIT-results.txt') ])) for file_name in files_to_convert: if os.path.exists(file_name) and os.path.isfile(file_name): print('Converting ' + file_name + '...') with open(file_name, 'r') as f: hit = f.read().replace('\r', '\n').replace('\n\n', '\n') convert_hit(hit, pseudo=False) #False) else: print('Invalid file name: ' + file_name) turkutil.make_reject_bad_file(SUCCESS_FILE, REJECT_FILE) os.system('echo > ' + SUBMISSION_LOG_PATH) # clean up log, or else it'll get too big
def main(task_name, unreviewed_path, record_submission): SUCCESS_FILE = '%s.input.reject.success' % task_name REJECT_FILE = '%s.input.reject' % task_name UNREVIEWED_PATH = unreviewed_path def make_reject_bad_file(): turkutil.make_reject_bad_file(success_file=SUCCESS_FILE, reject_file=REJECT_FILE) def convert_hit(hit, line_sep='\n', data_sep='\t', pseudo=False, **kwargs): def do_record_submission(submission_dict, pseudo=pseudo): record_submission(submission_dict, many_dirs=True, pseudo=pseudo, **kwargs) turkutil.convert_hit(hit, record_submission=do_record_submission, line_sep=line_sep, data_sep=data_sep, pseudo=pseudo) parser = argparse.ArgumentParser( description= 'Converts results of a turk recognition submission to folders') parser.add_argument('--path', type=str, default=UNREVIEWED_PATH, help='What folder should should the tasks go in') parser.add_argument('files_to_convert', metavar='FILE', type=str, nargs='*', help='what files get converted to folders') parser.add_argument('--exclude-rejected', dest='exclude_rejected', action='store_true', help='do not save the rejected HITs') parser.add_argument( '--exclude', dest='exclude_ids', metavar='FILE_OR_ID', type=str, nargs='*', help='rejected ids, or files to take rejected ids from') args = parser.parse_args() rejected_ids = set() if args.exclude_ids is None: args.exclude_ids = [] for ids in args.exclude_ids: if os.path.exists(ids) and os.path.isfile(ids): with open(ids, 'r') as f: ids = f.read().replace('\r', '\n').replace('\n\n', '\n').replace('\n', ',') rejected_ids = rejected_ids.union(ids.split(',')) if '' in rejected_ids: rejected_ids.remove('') for file_name in args.files_to_convert: if os.path.exists(file_name) and os.path.isfile(file_name): print('Converting ' + file_name + '...') with open(file_name, 'r') as f: hit = f.read().replace('\r', '\n').replace('\n\n', '\n') convert_hit(hit, pseudo=False, path=os.path.join(UNREVIEWED_PATH, args.path), exclude_rejected=args.exclude_rejected, exclude_ids=rejected_ids) #False) else: print('Invalid file name: ' + file_name) turkutil.make_reject_bad_file(SUCCESS_FILE, REJECT_FILE) os.system('echo > ' + SUBMISSION_LOG_PATH) # clean up log, or else it'll get too big
'get_turk_stroke_list', 'get_turk_rejected_image_list', 'get_turk_rejected_stroke_list'), line_sep='\n', data_sep='\t', pseudo=False): def do_record_submission(submission_dict, pseudo=pseudo): images_path, strokes_path, extra_info_path = get_submission_paths(submission_dict) record_submission(submission_dict, names=names, many_dirs=False, pseudo=pseudo, images_path=images_path, strokes_path=strokes_path, extra_info_path=extra_info_path) raise_object_changed(images_path) raise_object_changed(strokes_path) turkutil.convert_hit(hit, record_submission=do_record_submission, message=(lambda submission_dict: 'Saving %s for %s...' % (repr(get_alphabet_id_from_dict(submission_dict)), repr(submission_dict['workerid']))), line_sep=line_sep, data_sep=data_sep, pseudo=pseudo) if len(sys.argv) > 1: files_to_convert = sys.argv[1:] else: files_to_convert = list(set([os.path.join(RESULTS_PATH, 'HIT-results.txt'), os.path.join(os.getcwd(), 'HIT-results.txt')])) for file_name in files_to_convert: if os.path.exists(file_name) and os.path.isfile(file_name): print('Converting ' + file_name + '...') with open(file_name, 'r') as f: hit = f.read().replace('\r', '\n').replace('\n\n', '\n') convert_hit(hit, pseudo=False)#False) else: print('Invalid file name: ' + file_name) turkutil.make_reject_bad_file(SUCCESS_FILE, REJECT_FILE) os.system('echo > ' + SUBMISSION_LOG_PATH) # clean up log, or else it'll get too big