aboutsummaryrefslogtreecommitdiff
path: root/dialoguer
diff options
context:
space:
mode:
authorTinWoodman92 <chrhodgden@gmail.com>2023-07-01 16:36:47 -0500
committerTinWoodman92 <chrhodgden@gmail.com>2023-07-01 16:36:47 -0500
commit892076782660eddb8f8daffd2fcc5870aa8f4a93 (patch)
tree6ba4e024ab66cce0fea780702c3083c339b61cef /dialoguer
parent315999ec3a50b860ea0cc14ec786155a48bc857e (diff)
parent6befebe3030105bd88f22970a369178a2b7212e1 (diff)
Merge branch 'eval_expr'
Diffstat (limited to 'dialoguer')
-rw-r--r--dialoguer/__init__.py31
-rw-r--r--dialoguer/binary_conversion.py1
-rw-r--r--dialoguer/data_type_ref.py2
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),