class GameIO():
- def __init__(self, game):
+ def __init__(self, game, save_file='savefile'):
from plomrogue.parser import Parser
self.clients = {}
self.parser = Parser(game)
self.game = game
+ self.save_file = save_file
def loop(self, q):
"""Handle commands coming through queue q, run game, send results back."""
print('Killing server')
self.server.server_close()
- def handle_input(self, input_, connection_id=None):
- """Process input_ to command grammar, call command handler if found."""
+ def handle_input(self, input_, connection_id=None, god_mode=False):
+ """Process input_ to command grammar, call command handler if found.
+
+ Command handlers that have no connectin_i argument in their
+ signature will only be called if god_mode is set.
+
+ """
from inspect import signature
from plomrogue.errors import GameError, ArgError
from plomrogue.misc import quote
else:
if 'connection_id' in list(signature(command).parameters):
command(*args, connection_id=connection_id)
- else:
+ elif god_mode:
command(*args)
#if store and not hasattr(command, 'dont_save'):
# with open(self.game_file_name, 'a') as f: