summaryrefslogtreecommitdiff
path: root/domestic/session/server_handling/keystroke.py
diff options
context:
space:
mode:
Diffstat (limited to 'domestic/session/server_handling/keystroke.py')
-rw-r--r--domestic/session/server_handling/keystroke.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/domestic/session/server_handling/keystroke.py b/domestic/session/server_handling/keystroke.py
new file mode 100644
index 0000000..9f09540
--- /dev/null
+++ b/domestic/session/server_handling/keystroke.py
@@ -0,0 +1,23 @@
+from domestic.parse.error_exception_handling import *
+from domestic.utility.validate_dict_key import *
+from domestic.session.session_message import *
+from domestic.utility.read_file import *
+from domestic.global_state import *
+
+
+@error_exception_handling
+def keystroke(message):
+ inject = validate_dict_key(message, 'inject', False)
+ script = validate_dict_key(message, 'script', False)
+
+ if inject:
+ message['inject'] = inject.strip().split(';')
+ elif script:
+ parent_folder = state['settings']['folders']['parent']
+ child_folder = '{}/{}'.format(state['settings']['folders']['child'][1], state['settings']['folders']['child'][3])
+ message['inject'] = read_file(f'{state["root"]}/{parent_folder}/{child_folder}/{script}').decode(state['settings']['encoding']).strip().split('\r\n')
+ del message['script']
+ else:
+ raise Exception('Error message')
+
+ session_message(message) \ No newline at end of file