Example #1
0
def main():
    """Parse arguments and launch process."""

    parser = argparse.ArgumentParser(
        description="Import a contest from disk",
        epilog=build_epilog(),
        formatter_class=argparse.RawDescriptionHelpFormatter)
    group = parser.add_mutually_exclusive_group()
    group.add_argument("-z", "--zero-time", action="store_true",
                       help="set to zero contest start and stop time")
    group.add_argument("-t", "--test", action="store_true",
                       help="setup a contest for testing "
                       "(times: 1970, 2100; ips: unset, passwords: a)")
    parser.add_argument("-d", "--drop", action="store_true",
                        help="drop everything from the database "
                        "before importing")
    parser.add_argument("-n", "--user-number", action="store", type=int,
                        help="put N random users instead of importing them")
    parser.add_argument("-L", "--loader",
                        action="store", type=utf8_decoder, default=None,
                        help="use the specified loader (default: autodetect)")
    parser.add_argument("import_directory", action="store", type=utf8_decoder,
                        help="source directory from where import")

    args = parser.parse_args()
    loader_class = choose_loader(args.loader,
                                 args.import_directory,
                                 parser.error)

    Importer(path=args.import_directory,
             drop=args.drop,
             test=args.test,
             zero_time=args.zero_time,
             user_number=args.user_number,
             loader_class=loader_class).do_import()
Example #2
0
def main():
    """Parse arguments and launch process."""
    parser = argparse.ArgumentParser(
        description="Reimport a contest from disk",
        epilog=build_epilog(),
        formatter_class=argparse.RawDescriptionHelpFormatter)
    parser.add_argument("-c", "--contest-id", action="store", type=int,
                        help="id of contest to overwrite")
    parser.add_argument("-f", "--force", action="store_true",
                        help="force the reimport even if some users or tasks "
                        "may get lost")
    parser.add_argument("-L", "--loader", action="store", default=None,
                        help="use the specified loader (default: autodetect)")
    parser.add_argument("-F", "--full", action="store_true",
                        help="reimport tasks even if they haven't changed")
    parser.add_argument("import_directory",
                        help="source directory from where import")

    args = parser.parse_args()
    loader_class = choose_loader(args.loader,
                                 args.import_directory,
                                 parser.error)

    if args.contest_id is None:
        args.contest_id = ask_for_contest()

    Reimporter(path=args.import_directory,
               contest_id=args.contest_id,
               force=args.force,
               loader_class=loader_class,
               full=args.full).do_reimport()
Example #3
0
def main():
    """Parse arguments and launch process."""
    parser = argparse.ArgumentParser(
        description="Reimport a contest from disk",
        epilog=build_epilog(),
        formatter_class=argparse.RawDescriptionHelpFormatter)
    parser.add_argument("-c",
                        "--contest-id",
                        action="store",
                        type=int,
                        help="id of contest to overwrite")
    parser.add_argument("-f",
                        "--force",
                        action="store_true",
                        help="force the reimport even if some users or tasks "
                        "may get lost")
    parser.add_argument("-u",
                        "--users",
                        action="store_true",
                        help="(re)load the users from the .yaml file")
    parser.add_argument("-L",
                        "--loader",
                        action="store",
                        type=utf8_decoder,
                        default=None,
                        help="use the specified loader (default: autodetect)")
    parser.add_argument("-F",
                        "--full",
                        action="store_true",
                        help="reimport tasks even if they haven't changed")
    parser.add_argument("import_directory",
                        action="store",
                        type=utf8_decoder,
                        help="source directory from where import")

    args = parser.parse_args()
    loader_class = choose_loader(args.loader, args.import_directory,
                                 parser.error)

    if args.contest_id is None:
        args.contest_id = ask_for_contest()

    Reimporter(path=args.import_directory,
               contest_id=args.contest_id,
               force=args.force,
               loader_class=loader_class,
               full=args.full,
               users=args.users).do_reimport()
Example #4
0
def main():
    """Parse arguments and launch process."""

    parser = argparse.ArgumentParser(
        description="Import a contest from disk",
        epilog=build_epilog(),
        formatter_class=argparse.RawDescriptionHelpFormatter)
    group = parser.add_mutually_exclusive_group()
    group.add_argument("-z",
                       "--zero-time",
                       action="store_true",
                       help="set to zero contest start and stop time")
    group.add_argument("-t",
                       "--test",
                       action="store_true",
                       help="setup a contest for testing "
                       "(times: 1970, 2100; ips: unset, passwords: a)")
    parser.add_argument("-d",
                        "--drop",
                        action="store_true",
                        help="drop everything from the database "
                        "before importing")
    parser.add_argument("-n",
                        "--user-number",
                        action="store",
                        type=int,
                        help="put N random users instead of importing them")
    parser.add_argument("-L",
                        "--loader",
                        action="store",
                        type=utf8_decoder,
                        default=None,
                        help="use the specified loader (default: autodetect)")
    parser.add_argument("import_directory",
                        action="store",
                        type=utf8_decoder,
                        help="source directory from where import")

    args = parser.parse_args()
    loader_class = choose_loader(args.loader, args.import_directory,
                                 parser.error)

    Importer(path=args.import_directory,
             drop=args.drop,
             test=args.test,
             zero_time=args.zero_time,
             user_number=args.user_number,
             loader_class=loader_class).do_import()