diff options
author | TinWoodman92 <chrhodgden@gmail.com> | 2023-06-25 22:04:14 -0500 |
---|---|---|
committer | TinWoodman92 <chrhodgden@gmail.com> | 2023-06-25 22:04:14 -0500 |
commit | d946a82861a4991739e7dd3a493e8a9a82da60b9 (patch) | |
tree | 095abb5246dc6a6f06f865be5cf578830a7f163f | |
parent | 30694481ec80877d227728f5dfa3866c144dfc46 (diff) |
added command handling.
-rw-r--r-- | dialoguer/__init__.py | 7 | ||||
-rw-r--r-- | dialoguer/context_script.r | 29 |
2 files changed, 24 insertions, 12 deletions
diff --git a/dialoguer/__init__.py b/dialoguer/__init__.py index bf1e978..7b05a5f 100644 --- a/dialoguer/__init__.py +++ b/dialoguer/__init__.py @@ -89,15 +89,18 @@ 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): + def evaluate_expression(self, method_name, *args): + self.send(2) pass def close(self): - self.send('!DISCONNECT') + self.send(0) self._launch.join() self.conn.close() self.conn = None diff --git a/dialoguer/context_script.r b/dialoguer/context_script.r index 9d4a4d1..1d59dd8 100644 --- a/dialoguer/context_script.r +++ b/dialoguer/context_script.r @@ -116,6 +116,16 @@ find_connection <- function() { return(con) } +import_variable <- function() { + var_name <- recv(con, FALSE, "character") + var_val <- get(var_name) + send(con, var_val, TRUE) +} + +evaluate_expression <- function () { + +} + con <- find_connection() #load target file @@ -123,16 +133,15 @@ source(TARGET_FILE) send(con, TRUE) -msg <- '' -while (msg != '!DISCONNECT') { - # there should be several handeling methods - # returning variables - # evaluating expressions - msg <- recv(con, FALSE, "character") - if (msg != '!DISCONNECT') { - val <- get(msg) - display_msg(msg, val) - send(con, val, TRUE) +cmd_int <- -1 +while (cmd_int != 0) { + cmd_int <- recv(con, FALSE, "integer") + if (cmd_int == 1){ + send(con, TRUE) + import_variable() + } else if (cmd_int == 2) { + send(con, TRUE) + evaluate_expression() } } |