summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/webserver/server.py
diff options
context:
space:
mode:
authorFlorian Diebold <flodiebold@gmail.com>2011-07-16 20:01:17 +0200
committerFlorian Diebold <flodiebold@gmail.com>2011-08-23 16:27:54 +0200
commit3826f994bf4746ad61e917a1815b28b960d58617 (patch)
tree041782ffcc8f32b1c64a0a0e23474366c648c432 /crawl-ref/source/webserver/server.py
parent50f052544948f47e03a607ac6e98dae4034156a8 (diff)
downloadcrawl-ref-3826f994bf4746ad61e917a1815b28b960d58617.tar.gz
crawl-ref-3826f994bf4746ad61e917a1815b28b960d58617.zip
Add rc file editing to Webtiles.
Diffstat (limited to 'crawl-ref/source/webserver/server.py')
-rwxr-xr-xcrawl-ref/source/webserver/server.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/crawl-ref/source/webserver/server.py b/crawl-ref/source/webserver/server.py
index 14291253a1..ccf9b4bc8c 100755
--- a/crawl-ref/source/webserver/server.py
+++ b/crawl-ref/source/webserver/server.py
@@ -513,6 +513,22 @@ class CrawlWebSocket(tornado.websocket.WebSocketHandler):
elif self.watched_game:
self.stop_watching()
+ elif message.startswith("GetRC: "):
+ game_id = message[len("GetRC: "):]
+ if game_id not in games: return
+ rcfile_path = os.path.join(games[game_id]["rcfile_path"], self.username + ".rc")
+ with open(rcfile_path, 'r') as f:
+ contents = f.read()
+ self.write_message("rcfile_contents(" +
+ tornado.escape.json_encode(contents) + ");")
+
+ elif message.startswith("SetRC: "):
+ message = message[len("SetRC: "):]
+ game_id, _, contents = message.partition(" ")
+ rcfile_path = os.path.join(games[game_id]["rcfile_path"], self.username + ".rc")
+ with open(rcfile_path, 'w') as f:
+ f.write(contents)
+
elif self.p is not None:
self.last_action_time = time.time()