From: Christian Heller Date: Sat, 20 Feb 2016 09:13:17 +0000 (+0100) Subject: Add client plugin infrastructure. X-Git-Tag: tce~198 X-Git-Url: https://plomlompom.com/repos/%7B%7Bdb.prefix%7D%7D/static/blog?a=commitdiff_plain;h=3cfb2d131e570c546d8ed514b0930248a89db41b;p=plomrogue Add client plugin infrastructure. --- diff --git a/roguelike-client b/roguelike-client index 629d4dc..e0f8558 100755 --- a/roguelike-client +++ b/roguelike-client @@ -89,6 +89,13 @@ def read_message_queue(): redraw_windows = True elif message == "WORLD_UPDATED": query_mapcell() + elif message == "PLUGIN": + str_plugin = message[7:] + if (str_plugin.replace("_", "").isalnum() + and os.access("plugins/client/" + str_plugin, os.F_OK)): + exec(open("plugins/client/" + str_plugin).read()) + return + raise SystemExit("Invalid plugin load path in message: " + message) read_message_queue.parse_thingshere = False diff --git a/server/commands.py b/server/commands.py index 346661a..a3b68bc 100644 --- a/server/commands.py +++ b/server/commands.py @@ -15,8 +15,8 @@ def command_plugin(str_plugin): """Run code in plugins/[str_plugin].""" import os if (str_plugin.replace("_", "").isalnum() - and os.access("plugins/" + str_plugin, os.F_OK)): - exec(open("plugins/" + str_plugin).read()) + and os.access("plugins/server/" + str_plugin, os.F_OK)): + exec(open("plugins/server/" + str_plugin).read()) return print("Bad plugin name:", str_plugin)