# HG changeset patch # User Simon Cross # Date 1315747361 -7200 # Node ID a70ded879f4612d845094db3ad2d53966dfd311f # Parent 3da564107e14e34e03bba7b37ca17edd9406a527 Move argument checking into mamba.options. diff -r 3da564107e14 -r a70ded879f46 mamba/__main__.py --- a/mamba/__main__.py Sun Sep 11 15:20:25 2011 +0200 +++ b/mamba/__main__.py Sun Sep 11 15:22:41 2011 +0200 @@ -5,7 +5,7 @@ from pygame.locals import SWSURFACE from mamba.constants import SCREEN -from mamba.options import options, parse_args +from mamba.options import options, parse_args, check_args from mamba.engine import Engine from mamba.sound import SoundSystem from mamba.habitats.mainmenu import MainMenu @@ -16,16 +16,8 @@ def main(): """Launch the currently unnamed mamab game""" parse_args(sys.argv) - - if options.edit: - if options.level is None: - print 'You must specifiy a level name when using --edit' - sys.exit(1) - start = EditorHabitat(options.level) - elif options.level is not None: - start = LevelHabitat(options.level) - else: - start = MainMenu() + if not check_args(): + sys.exit(1) SoundSystem(options.sound) pygame.display.init() @@ -33,6 +25,13 @@ pygame.display.set_mode(SCREEN, SWSURFACE) pygame.display.set_caption('Mamba') + if options.edit: + start = EditorHabitat(options.level) + elif options.level is not None: + start = LevelHabitat(options.level) + else: + start = MainMenu() + engine = Engine() engine.set_habitat(start) engine.run() diff -r 3da564107e14 -r a70ded879f46 mamba/options.py --- a/mamba/options.py Sun Sep 11 15:20:25 2011 +0200 +++ b/mamba/options.py Sun Sep 11 15:22:41 2011 +0200 @@ -51,3 +51,11 @@ options.set_option('edit', opts.edit) options.finalize() + + +def check_args(options=options): + """Check options and complain if they're invalid.""" + if options.edit and options.level is None: + print "You must supply --level when using --edit." + return False + return True