X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;ds=sidebyside;f=new2%2Fplomrogue%2Fio.py;h=9f34b180f851793b04ce02e32c52b46ea9c68481;hb=f969bae68a328ca92c8a5efc3dd825d80df5d062;hp=d740f8c42972879e9f911d21ba5edf5e6d9c1e84;hpb=2f73d4246c98d4b25d18d0faa987d9ed165a48ae;p=plomrogue2-experiments
diff --git a/new2/plomrogue/io.py b/new2/plomrogue/io.py
index d740f8c..9f34b18 100644
--- a/new2/plomrogue/io.py
+++ b/new2/plomrogue/io.py
@@ -4,11 +4,12 @@ import queue
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."""
@@ -44,8 +45,13 @@ class GameIO():
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
@@ -63,7 +69,7 @@ class GameIO():
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: