def main(): parser = argparse.ArgumentParser( description='submits test code to the helloworld test quiz.') parser.add_argument('--environment', default='production', help="webserver environment") parser.add_argument('--id_provider', default='gt', help="identity provider (gt for OMSCS TAs)") parser.add_argument('--jwt_path', default=None, help="path to file containing auth information") args = parser.parse_args() course = 'cs8803-01' quiz = 'marsglider' filenames = ['marsglider.py'] currentDirectory = os.path.dirname(os.path.abspath(__file__)) fullfileNames = [currentDirectory + os.sep + x for x in filenames] filenames = fullfileNames submit(course, quiz, filenames, environment=args.environment, id_provider=args.id_provider, jwt_path=args.jwt_path)
def main(): parser = argparse.ArgumentParser( description='Submits code to the Udacity site.') parser.add_argument('quiz', choices=['proxy_server', 'proxy_cache', 'readme']) args = parser.parse_args() path_map = { 'proxy_server': 'server', 'proxy_cache': 'cache', 'readme': '.' } quiz_map = { 'proxy_server': 'pr3_proxy_server', 'proxy_cache': 'pr3_proxy_cache', 'readme': 'pr3_readme' } files_map = { 'pr3_proxy_server': ['handle_with_curl.c', 'webproxy.c'], 'pr3_proxy_cache': [ 'handle_with_cache.c', 'shm_channel.h', 'webproxy.c', 'shm_channel.c', 'simplecached.c' ], 'pr3_readme': ['readme-student.md'] } quiz = quiz_map[args.quiz] os.chdir(path_map[args.quiz]) submit('cs8803-02', quiz, files_map[quiz])
def main(): parser = argparse.ArgumentParser(description='Submits code to the Udacity site.') parser.add_argument('quiz', choices=['echo', 'transfer', 'gfclient', 'gfserver', 'gfclient_mt', 'gfserver_mt', 'readme']) args = parser.parse_args() path_map = {'echo': 'echo', 'transfer': 'transfer', 'gfclient': 'gflib', 'gfserver': 'gflib', 'gfclient_mt': 'mtgf', 'gfserver_mt': 'mtgf', 'readme': '.'} quiz_map = {'echo': 'pr1_echo_client_server', 'transfer': 'pr1_transfer', 'gfclient': 'pr1_gfclient', 'gfserver': 'pr1_gfserver', 'gfclient_mt': 'pr1_gfclient_mt', 'gfserver_mt': 'pr1_gfserver_mt', 'readme': 'pr1_readme'} files_map = {'pr1_echo_client_server': ['echoclient.c', 'echoserver.c'], 'pr1_transfer': ['transferclient.c', 'transferserver.c'], 'pr1_gfclient': ['gfclient.c'], 'pr1_gfserver': ['gfserver.c'], 'pr1_gfclient_mt': ['gfclient_download.c'], 'pr1_gfserver_mt': ['gfserver_main.c', 'handler.c'], 'pr1_readme': ['readme-student.md']} quiz = quiz_map[args.quiz] os.chdir(path_map[args.quiz]) submit('cs8803-02', quiz, files_map[quiz])
def main(): parser = argparse.ArgumentParser(description='Submits code to the Udacity site.') parser.add_argument('quiz', choices = ['rpc', 'readme']) args = parser.parse_args() quiz_map = {'rpc': 'pr4_rpc', 'readme': 'pr4_readme' } files_map = { 'pr4_rpc': ['minify_via_rpc.c', 'minifyjpeg.h', 'minifyjpeg_clnt.c', 'minifyjpeg_xdr.c', 'minifyjpeg.c','minifyjpeg.x', 'minifyjpeg_svc.c'], 'pr4_readme': compute_readme_list(), } quiz = quiz_map[args.quiz] cleanup_cksum() try: get_submit_cksum(quiz) except: pass # ignore errors if (os.path.exists(cksum_file_name)): files_map[quiz].append(cksum_file_name) submit('cs6200', quiz, files_map[quiz]) cleanup_cksum() cleanup_student_zip()
def main(): parser = argparse.ArgumentParser( description='Submits code to the Udacity site.') parser.add_argument('part', choices=['assignment_3']) parser.add_argument('--provider', choices=['gt', 'udacity'], default='gt') parser.add_argument( '--environment', choices=['local', 'development', 'staging', 'production'], default='production') parser.add_argument( '--add-data', action='store_true', help= 'Include this flag to add a data.pickle file that will be available on the test server.' ) args = parser.parse_args() if args.part == 'assignment_3': require_pledges() quiz = 'assignment_3' filenames = ["probability_solution.py"] print "Submission processing...\n" submit('cs6601', 'assignment_3', filenames)
def main(): parser = argparse.ArgumentParser( description='Submits code to the Udacity site.') parser.add_argument('quiz', choices=['rpc_mt'], default='rpc_mt') parser.add_argument('--provider', choices=['gt', 'udacity'], default='gt') parser.add_argument( '--environment', choices=['local', 'development', 'staging', 'production'], default='production') args = parser.parse_args() files_map = { 'pr4_mt_rpc': [ 'minify_via_rpc.c', 'minifyjpeg.h', 'minifyjpeg_clnt.c', 'minifyjpeg_xdr.c', 'minifyjpeg.c', 'minifyjpeg.x', 'minifyjpeg_svc.c', 'readme-student.md' ] } quiz_map = { 'rpc_mt': 'pr4_mt_rpc', } quiz = quiz_map[args.quiz] submit('cs8803-02', quiz, files_map[quiz])
def main(): parser = argparse.ArgumentParser( description='Submits code to the Udacity site.') parser.add_argument('quiz', choices=['proxy_server', 'proxy_cache', 'readme']) args = parser.parse_args() path_map = { 'proxy_server': 'server', 'proxy_cache': 'cache', 'readme': '.' } quiz_map = { 'proxy_server': 'pr3_proxy_server', 'proxy_cache': 'pr3_proxy_cache', 'readme': 'pr3_readme' } files_map = { 'pr3_proxy_server': ['handle_with_curl.c', 'webproxy.c', 'proxy-student.h'], 'pr3_proxy_cache': [ 'handle_with_cache.c', 'shm_channel.h', 'webproxy.c', 'shm_channel.c', 'simplecached.c', 'cache-student.h' ], 'pr3_readme': compute_readme_list() } quiz = quiz_map[args.quiz] cleanup_cksum() os.chdir(path_map[args.quiz]) # copy submit script try: if path_map[args.quiz] != '.': shutil.copyfile('../submit.py', './submit.py') files_map[quiz].append('submit.py') except: pass #Create cksum file try: cleanup_cksum() get_submit_cksum(quiz) except: pass # ignore errors if (os.path.exists(cksum_file_name)): files_map[quiz].append(cksum_file_name) submit('cs6200', quiz, files_map[quiz]) cleanup_cksum() cleanup_student_zip() try: if path_map[args.quiz] != '.': os.remove('./submit.py') except: pass
def main(args): # require_pledge(LATE_POLICY) # require_pledge(HONOR_PLEDGE) required_files = [validate_file_info(ptn, **kwargs) for ptn, kwargs in SETTINGS.get(args.quiz, {}).items()] additional_files = map(glob, args.filenames) filenames = reduce(list.__add__, required_files + additional_files, []) nelson.submit(COURSE, args.quiz, filenames, environment=args.environment)
def main(): parser = argparse.ArgumentParser(description='Submits code to the Udacity site.') parser.add_argument('quiz', choices=['echo', 'transfer', 'gfclient', 'gfserver', 'gfclient_mt', 'gfserver_mt', 'readme']) args = parser.parse_args() path_map = {'echo': 'echo', 'transfer': 'transfer', 'gfclient': 'gflib', 'gfserver': 'gflib', 'gfclient_mt': 'mtgf', 'gfserver_mt': 'mtgf', 'readme': '.'} quiz_map = {'echo': 'pr1_echo_client_server', 'transfer': 'pr1_transfer', 'gfclient': 'pr1_gfclient', 'gfserver': 'pr1_gfserver', 'gfclient_mt': 'pr1_gfclient_mt', 'gfserver_mt': 'pr1_gfserver_mt', 'readme': 'pr1_readme'} files_map = {'pr1_echo_client_server': ['echoclient.c', 'echoserver.c'], 'pr1_transfer': ['transferclient.c', 'transferserver.c'], 'pr1_gfclient': ['gfclient.c', 'gfclient-student.h', 'gf-student.h'], 'pr1_gfserver': ['gfserver.c', 'gfserver-student.h', 'gf-student.h'], 'pr1_gfclient_mt': ['gfclient_download.c', 'gfclient-student.h', 'gf-student.h'], 'pr1_gfserver_mt': ['gfserver_main.c', 'handler.c', 'gfserver-student.h', 'gf-student.h'], 'pr1_readme': compute_readme_list()} quiz = quiz_map[args.quiz] os.chdir(path_map[args.quiz]) # copy submit script try: if path_map[args.quiz] != '.': shutil.copyfile('../submit.py','./submit.py') if 'submit.py' not in files_map[quiz]: files_map[quiz].append('submit.py') except: pass #Create cksum file try: cleanup_cksum() get_submit_cksum(quiz) except: pass # ignore errors if os.path.exists(cksum_file_name): files_map[quiz].append(cksum_file_name) submit('cs6200', quiz, files_map[quiz]) cleanup_cksum() cleanup_student_zip() try: if path_map[args.quiz] != '.': os.remove('./submit.py') except: pass
def main(): parser = argparse.ArgumentParser( description='Submits code to the Udacity site.') parser.add_argument('quiz', choices=[ 'echo', 'transfer', 'gfclient', 'gfserver', 'gfclient_mt', 'gfserver_mt', 'readme' ]) args = parser.parse_args() path_map = { 'echo': 'echo', 'transfer': 'transfer', 'gfclient': 'gflib', 'gfserver': 'gflib', 'gfclient_mt': 'mtgf', 'gfserver_mt': 'mtgf', 'readme': '.' } quiz_map = { 'echo': 'pr1_echo_client_server', 'transfer': 'pr1_transfer', 'gfclient': 'pr1_gfclient', 'gfserver': 'pr1_gfserver', 'gfclient_mt': 'pr1_gfclient_mt', 'gfserver_mt': 'pr1_gfserver_mt', 'readme': 'pr1_readme' } files_map = { 'pr1_echo_client_server': ['echoclient.c', 'echoserver.c'], 'pr1_transfer': ['transferclient.c', 'transferserver.c'], 'pr1_gfclient': ['gfclient.c', 'gfclient-student.h', 'gf-student.h'], 'pr1_gfserver': ['gfserver.c', 'gfserver-student.h', 'gf-student.h'], 'pr1_gfclient_mt': ['gfclient_download.c', 'gfclient-student.h', 'gf-student.h'], 'pr1_gfserver_mt': ['gfserver_main.c', 'handler.c', 'gfserver-student.h', 'gf-student.h'], 'pr1_readme': compute_readme_list() } quiz = quiz_map[args.quiz] os.chdir(path_map[args.quiz]) compute_md5sum() if (os.path.exists(md5_file_name)): files_map[quiz].append(md5_file_name) submit('cs6200', quiz, files_map[quiz]) cleanup_md5sum()
def main(): parser = argparse.ArgumentParser(description='Submits code to the Udacity site.') # parser.add_argument('part', choices = ['assignment_1', 'play_isolation']) parser.add_argument('--enable-face-off', action='store_true', help='Include this flag to sign up for the playoffs. AI.txt must be present') args = parser.parse_args() filenames = ["player_submission.py"] if not args.enable_face_off: require_pledges() else: filenames.append('AI.txt') submit('cs6601', 'assignment_1', filenames)
def main(): parser = argparse.ArgumentParser(description='Submits code to the Udacity site.') parser.add_argument('part', choices=['ps08', 'ps08_report']) args = parser.parse_args() quiz = args.part course = "cs6476" if quiz == "ps08": filenames = ["ps8.py"] else: filenames = ['ps08_report.pdf', 'experiment.py', 'ps8.py'] require_pledges() submit(course, quiz, filenames)
def main(): parser = argparse.ArgumentParser( description='Submits code to the Udacity site.') parser.add_argument('quiz', choices=['part1', 'part2', 'readme']) args = parser.parse_args() path_map = {'part1': 'part1', 'part2': 'part2', 'readme': '.'} quiz_map = { 'part1': 'pr4_grpc', 'part2': 'pr4_grpc_dfs', 'readme': 'pr4_readme' } files_map = { 'pr4_grpc': [ 'dfslib-clientnode-p1.cpp', 'dfslib-clientnode-p1.h', 'dfslib-servernode-p1.cpp', 'dfslib-servernode-p1.h', 'dfslib-shared-p1.cpp', 'dfslib-shared-p1.h', 'dfs-service.proto' ], 'pr4_grpc_dfs': [ 'dfslib-clientnode-p2.cpp', 'dfslib-clientnode-p2.h', 'dfslib-servernode-p2.cpp', 'dfslib-servernode-p2.h', 'dfslib-shared-p2.cpp', 'dfslib-shared-p2.h', 'dfs-service.proto' ], 'pr4_readme': compute_readme_list() } # Append the proto file quiz = quiz_map[args.quiz] cleanup_cksum() os.chdir(path_map[args.quiz]) try: get_submit_cksum(quiz) except: pass # ignore errors if (os.path.exists(CKSUM_FILE_NAME)): files_map[quiz].append(CKSUM_FILE_NAME) submit('cs6200', quiz, files_map[quiz]) cleanup_cksum() cleanup_student_zip()
def main(): parser = argparse.ArgumentParser(description="Submits code to the Udacity " "site.") parser.add_argument("part", choices=["ps04", "ps04_report"]) args = parser.parse_args() quiz = args.part course = "cs6476" if quiz == "ps04": filenames = ["ps4.py"] else: filenames = ["ps4.py", "ps4_report.pdf", "experiment.py"] require_pledges() submit(course, quiz, filenames)
def main(): parser = argparse.ArgumentParser(description='submits test code to the helloworld test quiz.') parser.add_argument('--environment', default='production', help="webserver environment") parser.add_argument('--id_provider', default='gt', help="identity provider (gt for OMSCS TAs)") parser.add_argument('--jwt_path', default=None, help="path to file containing auth information") args = parser.parse_args() course = 'cs8803-01' quiz = 'polygonrobot' filenames = ['studentMain1.py', 'studentMain2.py', 'studentMain3.py', 'studentMain4.py'] submit(course, quiz, filenames, environment = args.environment, id_provider = args.id_provider, jwt_path = args.jwt_path)
def main(): parser = argparse.ArgumentParser( description='Submits code to the Udacity site.') parser.add_argument("part", choices=["ps03", "ps03_report"]) args = parser.parse_args() quiz = args.part course = "cs6476" if quiz == "ps03": filenames = ["ps3.py"] else: filenames = [ "ps3.py", "ps3_report.pdf", "experiment.py", "input_images/img-3-a-1.png" ] require_pledges() submit(course, quiz, filenames)
def main(): files_map = { 'pr4_mt_rpc': [ 'minify_via_rpc.c', 'minifyjpeg.h', 'minifyjpeg_clnt.c', 'minifyjpeg_xdr.c', 'minifyjpeg.c', 'minifyjpeg.x', 'minifyjpeg_svc.c' ] } quiz = 'pr4_mt_rpc' cleanup_cksum() try: get_submit_cksum(quiz) except: pass # ignore errors if (os.path.exists(cksum_file_name)): files_map[quiz].append(cksum_file_name) submit('cs6200', quiz, files_map[quiz]) cleanup_cksum() cleanup_student_zip()
def main(): parser = argparse.ArgumentParser( description='Submits code to the Udacity site.') parser.add_argument('quiz', choices=['rpc', 'readme']) args = parser.parse_args() path_map = {'proxy_server': '.', 'proxy_cache': '.', 'readme': '.'} quiz_map = {'rpc': 'pr4_rpc', 'readme': 'pr4_readme'} files_map = { 'pr4_rpc': [ 'minify_via_rpc.c', 'minifyjpeg.h', 'minifyjpeg_clnt.c', 'minifyjpeg_xdr.c', 'minifyjpeg.c', 'minifyjpeg.x', 'minifyjpeg_svc.c' ], 'pr4_readme': ['readme-student.md'], } quiz = quiz_map[args.quiz] submit('cs8803-02', quiz, files_map[quiz])
def main(): course = 'csXXXX' quiz = 'helloworld' filenames = ['hello_world.py'] submit(course, quiz, filenames)
def main(): filenames = ["mixture_models.py"] require_pledges() submit('cs6601', 'assignment_5', filenames)
def main(): filenames = ["search_submission.py"] require_pledges() submit('cs6601', 'assignment_2', filenames)
def submit(course_id, args, settings): required_files = settings.get("required_files", []) optional_files = settings.get("optional_files", []) user_files = args.filenames filenames = set([ f for f in required_files + optional_files + user_files if os.path.isfile(f) ]) # check for redundant files in resources.zip if "resources.zip" in filenames: with ZipFile('resources.zip', 'r') as archive: zipnames = archive.namelist() redundant_files = [f for f in filenames if f in zipnames] if redundant_files: print( textwrap.dedent("""\ ****************************************************************** Submission Failed ****************************************************************** Your resources.zip archive includes redundant files: {} Remove these files from resources.zip and try again. """).format('\n'.join( [' - {!s}'.format(f) for f in redundant_files]))) exit() if not set(required_files) <= filenames: print( textwrap.dedent("""\ ****************************************************************** Submission Failed ****************************************************************** One or more required file(s) were missing: {} Make sure these files exist in the current directory and try again. """).format('\n'.join([ ' -{!s}'.format(f) for f in set(required_files) - filenames ]))) exit() try: nelson.submit(course_id, settings["quiz_id"], filenames, environment=args.environment, max_zip_size=settings.get("size", 8) << 20, jwt_path=args.jwt_path, zipfile_root='') except ValueError as e: print( textwrap.dedent(""" ****************************************************************** Submission Failed ****************************************************************** {!s} """).format(e)) except RuntimeError as e: print( textwrap.dedent(""" ****************************************************************** Submission Failed ****************************************************************** {!s} """).format(e)) print("{:^70}\n".format( "REMINDER: REPORTS MUST BE SUBMITTED VIA CANVAS")) exit()
def main(): filenames = ["decision_trees_submission.py"] require_pledges() submit('cs6601', 'assignment_4', filenames)