summaryrefslogtreecommitdiff
path: root/foreign/client_handling/encrypt.py
diff options
context:
space:
mode:
Diffstat (limited to 'foreign/client_handling/encrypt.py')
-rw-r--r--foreign/client_handling/encrypt.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/foreign/client_handling/encrypt.py b/foreign/client_handling/encrypt.py
new file mode 100644
index 0000000..13deb96
--- /dev/null
+++ b/foreign/client_handling/encrypt.py
@@ -0,0 +1,20 @@
+from foreign.global_state import state
+
+
+def encrypt(filename, decrypt):
+ if decrypt:
+ with open(filename, 'rb') as rf:
+ filedata = state['settings']['encryption'].do_decrypt(rf.read())
+
+ with open(filename, 'wb') as wf:
+ wf.write(filedata)
+
+ return {'message': f'{filename} successfully decrypted', 'text_mode': 'success'}
+ else:
+ with open(filename, 'rb') as rf:
+ filedata = state['settings']['encryption'].do_encrypt(rf.read())
+
+ with open(filename, 'wb') as wf:
+ wf.write(filedata)
+
+ return {'message': f'{filename} successfully encrypted', 'text_mode': 'success'} \ No newline at end of file