Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 5 additions & 24 deletions pelita/scripts/pelita_main.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@

import pelita
from pelita.network import PELITA_PORT
# TODO: The check_team option
from pelita.tournament import check_team

from .script_utils import start_logging

Expand Down Expand Up @@ -215,8 +213,6 @@ def long_help(s):
metavar='REPLAYFILE', dest='replayfile', const='pelita.dump', nargs='?')
parser.add_argument('--store-output', help=long_help('Write all player’s stdout/stderr to the given folder (must exist)'),
metavar='FOLDER')
parser.add_argument('--check-team', action="store_true",
help=long_help('Check that the team is valid (on first sight) and print its name.'))
parser.add_argument('--append-blue', type=str, metavar='INFO', default=None,
help=long_help('Append info about the blue team (such as group id).'))
parser.add_argument('--append-red', type=str, metavar='INFO', default=None,
Expand Down Expand Up @@ -327,22 +323,7 @@ def main():
start_logging(args.log)

if args.rounds < 1:
raise ValueError(f"Must play at least one round (rounds={args.rounds}).")

if args.check_team:
if not args.team_specs:
raise ValueError("No teams specified.")
for team_spec in args.team_specs:
try:
team_name = check_team(team_spec, timeout=args.initial_timeout_length)
print("NAME:", team_name)
except pelita.network.RemotePlayerFailure as e:
if e.error_type == 'ModuleNotFoundError':
#print(f"{e.message}")
pass
else:
raise
sys.exit(0)
parser.error(f"Must play at least one round (rounds={args.rounds}).")

if args.viewer == 'null':
viewers = []
Expand Down Expand Up @@ -403,9 +384,9 @@ def main():
if len(team_specs) == 0:
team_specs = ('0', '1')
if len(team_specs) == 1:
raise RuntimeError("Not enough teams given. Must be {}".format(num_teams))
parser.error("Not enough teams given. Must be {}".format(num_teams))
if len(team_specs) > num_teams:
raise RuntimeError("Too many teams given. Must be < {}.".format(num_teams))
parser.error("Too many teams given. Must be < {}.".format(num_teams))

for idx, team_spec in enumerate(team_specs):
if team_spec == "SCAN":
Expand Down Expand Up @@ -440,7 +421,7 @@ def main():
layout_string = layout_path.read_text()
layout_dict = pelita.layout.parse_layout(layout_string)
else:
raise FileNotFoundError(f'Layout file "{layout_path}" does not exist.')
parser.error(f'Layout file "{layout_path}" does not exist.')
else:
width, height = args.size

Expand All @@ -449,7 +430,7 @@ def main():
elif (width, height) in pelita.game.NFOOD:
trapped_food, total_food = pelita.game.NFOOD[(width, height)]
else:
raise ValueError('--food option must be specified if a custom maze size is set')
parser.error('--food option must be specified if a custom maze size is set')

layout_dict = pelita.maze_generator.generate_maze(trapped_food=trapped_food,
total_food=total_food,
Expand Down
Loading