diff options
Diffstat (limited to 'dialoguer')
-rw-r--r-- | dialoguer/__init__.py | 31 | ||||
-rw-r--r-- | dialoguer/binary_conversion.py | 1 | ||||
-rw-r--r-- | dialoguer/data_type_ref.py | 2 |
3 files changed, 31 insertions, 3 deletions
diff --git a/dialoguer/__init__.py b/dialoguer/__init__.py index bf1e978..476cde0 100644 --- a/dialoguer/__init__.py +++ b/dialoguer/__init__.py @@ -89,15 +89,40 @@ class Dialogue: return data def import_variable(self, var_name): + self.send(1) + recv_chk = self.recv(set_data_type=bool) self.send(var_name, False) val = self.recv(True) return val - def evaluate_expression(self, expr): - pass + def evaluate_expression(self, method_name, *args, **kwargs): + self.send(2) + recv_chk = self.recv(set_data_type=bool) + #send number of arguments + self.send(len(args)) + recv_chk = self.recv(set_data_type=bool) + #send number of keyword arguments + self.send(len(kwargs)) + recv_chk = self.recv(set_data_type=bool) + #send method name + self.send(method_name) + recv_chk = self.recv(set_data_type=bool) + #send arguments + for arg in args: + self.send(arg, True) + recv_chk = self.recv(set_data_type=bool) + #send keyword arguments + for kw in kwargs: + self.send(kw) + recv_chk = self.recv(set_data_type=bool) + self.send(kwargs[kw], True) + recv_chk = self.recv(set_data_type=bool) + result = self.recv(True) + return result + def close(self): - self.send('!DISCONNECT') + self.send(0) self._launch.join() self.conn.close() self.conn = None diff --git a/dialoguer/binary_conversion.py b/dialoguer/binary_conversion.py index a354851..9bdef6c 100644 --- a/dialoguer/binary_conversion.py +++ b/dialoguer/binary_conversion.py @@ -26,6 +26,7 @@ def bin_conv(data, data_type = None): conv_data = bin(data) conv_data = conv_data.lstrip('0b') conv_data = conv_data.zfill(8) + conv_data = ''.join(reversed(conv_data)) n = b'' for b in conv_data: m = int(b) diff --git a/dialoguer/data_type_ref.py b/dialoguer/data_type_ref.py index 6d45ba5..0559881 100644 --- a/dialoguer/data_type_ref.py +++ b/dialoguer/data_type_ref.py @@ -3,6 +3,8 @@ data_type_dict = { 'character': str, 'int': int, 'integer': int, + 'float': float, + 'double': float, 'bool': bool, 'logical': bool, 'NoneType': type(None), |