blob: 0c403e47d946e3316acf1375f52e7026cb1c70dc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
from domestic.parse.error_exception_handling import *
from domestic.utility.validate_dict_key import *
from domestic.session.session_message import *
from domestic.utility.status_message import *
from domestic.utility.read_file import *
from domestic.global_state import *
@error_exception_handling
def interpreter(message):
execute = validate_dict_key(message, 'execute')
script = validate_dict_key(message, 'script')
quiet = validate_dict_key(message, 'quiet')
assert execute or script
if script:
parent_folder = state['settings']['folders']['parent']
child_folder = state['settings']['folders']['child'][1]
message['execute'] = read_file(f'{state["root"]}/{parent_folder}/{child_folder}/{script}').decode(state['settings']['encoding'])
del message['script']
if quiet:
del message['quiet']
data = session_message(message, False)
result = validate_dict_key(data, 'result')
if result:
if quiet is None:
status_message(data['result'], 'pure', {'end': True})
print()
make_file(['interpreter'], 'txt', bytes(data['result'], state['settings']['encoding']), data['message'])
else:
status_message(data['message'], data['text_mode'])
|