davemds pushed a commit to branch master. http://git.enlightenment.org/apps/espionage.git/commit/?id=55746803aada1be941ea08bb2bc7b8248a97d2f6
commit 55746803aada1be941ea08bb2bc7b8248a97d2f6 Author: davemds <[email protected]> Date: Sun Aug 10 16:21:21 2014 +0200 Fix the method runner to not fail when more than one param given Also use ast.literal_eval instead ov eval. It's more secure this way --- espionage/espionage.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/espionage/espionage.py b/espionage/espionage.py index 7203620..54577eb 100644 --- a/espionage/espionage.py +++ b/espionage/espionage.py @@ -22,6 +22,7 @@ import os import sys import dbus import json +import ast from xml.etree import ElementTree from efl import elementary as elm @@ -666,12 +667,16 @@ class MethodRunner(StandardWindow): # async method call try: if user_params: - meth(eval(user_params), - reply_handler = self.reply_handler, - error_handler = self.error_handler) + params = ast.literal_eval(user_params) + if type(params) is tuple: + meth(*params, reply_handler=self.reply_handler, + error_handler=self.error_handler) + else: + meth(params, reply_handler=self.reply_handler, + error_handler=self.error_handler) else: - meth(reply_handler = self.reply_handler, - error_handler = self.error_handler) + meth(reply_handler=self.reply_handler, + error_handler=self.error_handler) except Exception as e: s = "Error running method<br>Exception: " self._return_entry.entry = s + utf8_to_markup(str(e)) --
