Exemple #1
0
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)
Exemple #2
0
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])
Exemple #4
0
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])
Exemple #7
0
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
Exemple #8
0
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)
Exemple #9
0
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
Exemple #10
0
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()
Exemple #11
0
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)
Exemple #12
0
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)
Exemple #13
0
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()
Exemple #14
0
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)
Exemple #16
0
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])
Exemple #19
0
def main():
    course = 'csXXXX'
    quiz = 'helloworld'
    filenames = ['hello_world.py']

    submit(course, quiz, filenames)
Exemple #20
0
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)