dshellInterpreter 0.2.6__py3-none-any.whl → 0.2.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dshellInterpreter might be problematic. Click here for more details.

@@ -42,7 +42,6 @@ class DshellInterpreteur:
42
42
  '__author_discriminator__': ctx.author.discriminator,
43
43
  '__author_bot__': ctx.author.bot,
44
44
  '__author_nick__': ctx.author.nick if hasattr(ctx.author, 'nick') else None,
45
- '__author_avatar_url__': ctx.author.avatar.url if ctx.author.avatar else None,
46
45
  '__author_id__': ctx.author.id,
47
46
  '__message__': ctx.content,
48
47
  '__message_id__': ctx.id,
@@ -259,7 +258,14 @@ def eval_expression(tokens: list[Token], interpreter: DshellInterpreteur) -> Any
259
258
 
260
259
  else:
261
260
  b = stack.pop()
262
- a = stack.pop()
261
+ try:
262
+ a = stack.pop()
263
+ except IndexError:
264
+ if op == "-":
265
+ a = 0
266
+ else:
267
+ raise SyntaxError(f"Invalid expression: {op} operator requires two operands, but only one was found.")
268
+
263
269
  result = dshell_operators[op][0](a, b)
264
270
 
265
271
  stack.append(result)
@@ -268,7 +268,7 @@ def to_postfix(expression):
268
268
  operators: list[Token] = []
269
269
 
270
270
  for token in expression:
271
- if token.type in (DTT.IDENT, DTT.CALL_ARGS, DTT.INT, DTT.FLOAT, DTT.LIST, DTT.STR): # Si c'est un ident
271
+ if token.type in (DTT.IDENT, DTT.CALL_ARGS, DTT.INT, DTT.FLOAT, DTT.LIST, DTT.STR, DTT.BOOL): # Si c'est un ident
272
272
  output.append(token)
273
273
  elif token.value in dshell_operators:
274
274
  while (operators and operators[-1].value in dshell_operators and
@@ -289,7 +289,7 @@ def parse_postfix_expression(postfix_tokens: list[Token]) -> list[IdentOperation
289
289
 
290
290
  for tok in postfix_tokens:
291
291
 
292
- if tok.type in (DTT.IDENT, DTT.CALL_ARGS, DTT.INT, DTT.STR, DTT.LIST):
292
+ if tok.type in (DTT.IDENT, DTT.CALL_ARGS, DTT.INT, DTT.STR, DTT.LIST, DTT.FLOAT, DTT.BOOL):
293
293
  stack.append(tok)
294
294
 
295
295
  elif tok.type == DTT.MATHS_OPERATOR:
@@ -64,15 +64,6 @@ dshell_commands: dict[str, Callable] = {
64
64
  }
65
65
 
66
66
  dshell_mathematical_operators: dict[str, tuple[Callable, int]] = {
67
- r"<": (lambda a, b: a < b, 4),
68
- r"<=": (lambda a, b: a <= b, 4),
69
- r"=<": (lambda a, b: a <= b, 4),
70
- r"=": (lambda a, b: a == b, 4),
71
- r"!=": (lambda a, b: a != b, 4),
72
- r"=!": (lambda a, b: a != b, 4),
73
- r">": (lambda a, b: a > b, 4),
74
- r">=": (lambda a, b: a >= b, 4),
75
- r"=>": (lambda a, b: a >= b, 4),
76
67
 
77
68
  r".": (lambda a, b: a.b, 9),
78
69
  r"->": (lambda a: a.at, 10), # equivalent to calling .at(key)
@@ -89,6 +80,15 @@ dshell_mathematical_operators: dict[str, tuple[Callable, int]] = {
89
80
 
90
81
  dshell_logical_operators: dict[str, tuple[Callable, int]] = {
91
82
 
83
+ r"<": (lambda a, b: a < b, 4),
84
+ r"<=": (lambda a, b: a <= b, 4),
85
+ r"=<": (lambda a, b: a <= b, 4),
86
+ r"=": (lambda a, b: a == b, 4),
87
+ r"!=": (lambda a, b: a != b, 4),
88
+ r"=!": (lambda a, b: a != b, 4),
89
+ r">": (lambda a, b: a > b, 4),
90
+ r">=": (lambda a, b: a >= b, 4),
91
+ r"=>": (lambda a, b: a >= b, 4),
92
92
  r"and": (lambda a, b: bool(a and b), 2),
93
93
  r"&": (lambda a, b: a & b, 2),
94
94
  r"or": (lambda a, b: bool(a or b), 1),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dshellInterpreter
3
- Version: 0.2.6
3
+ Version: 0.2.7
4
4
  Summary: A Discord bot interpreter for creating custom commands and automations.
5
5
  Home-page: https://github.com/BOXERRMD/Dshell_Interpreter
6
6
  Author: Chronos
@@ -7,16 +7,16 @@ Dshell/DISCORD_COMMANDS/dshell_message.py,sha256=SvX9I4nYMWm8ACE56QJBM5yEiZoXIKb
7
7
  Dshell/DISCORD_COMMANDS/dshell_pastbin.py,sha256=TkWFGRRTvhhJgvwkDFx9Fz4UM2UUFwxyq0laMVx0mUk,881
8
8
  Dshell/DISCORD_COMMANDS/dshell_role.py,sha256=fotsYWGHebgIx157q-zRbcCd90Y7jIuKCZ8udQoEzSU,4970
9
9
  Dshell/_DshellInterpreteur/__init__.py,sha256=xy5-J-R3YmY99JF3NBHTRRLsComFxpjnCA5xacISctU,35
10
- Dshell/_DshellInterpreteur/dshell_interpreter.py,sha256=dJS8frzNhKEvs-WdC7kwcZMZKefraWO4t8vLrFctjvA,22805
10
+ Dshell/_DshellInterpreteur/dshell_interpreter.py,sha256=yFKK8n0hTP6hN1AexUyYsZwUBFG6Rz4UgSnCEyVJ-xw,22998
11
11
  Dshell/_DshellParser/__init__.py,sha256=ONDfhZMvClqP_6tE8SLjp-cf3pXL-auQYnfYRrHZxC4,56
12
12
  Dshell/_DshellParser/ast_nodes.py,sha256=2qwL_M0ELPia6L6gqwgV5hqprvyuo97cx3Zk2dVz09U,15341
13
- Dshell/_DshellParser/dshell_parser.py,sha256=bdnVhx-MchM61J88fa9PimpAdwPtQumywJd-GoMqS8Q,15514
13
+ Dshell/_DshellParser/dshell_parser.py,sha256=RxS5GgmTel10pH9HII0X_8XZnVyIQGd9ThZZcZDpEqc,15545
14
14
  Dshell/_DshellTokenizer/__init__.py,sha256=LIQSRhDx2B9pmPx5ADMwwD0Xr9ybneVLhHH8qrJWw_s,172
15
- Dshell/_DshellTokenizer/dshell_keywords.py,sha256=gN5djm3OcIxc6Rx38BQb8ILkoAbojOSUfIrJtBGST9w,4891
15
+ Dshell/_DshellTokenizer/dshell_keywords.py,sha256=q6Mi7Y_45YJ_0XdBOZTdUAk0ZTjvr3dMwTuD-2YyQbs,4891
16
16
  Dshell/_DshellTokenizer/dshell_token_type.py,sha256=pWzvmj6EFGkDwNHooOAjdyysi1vZRVEostFIZSW1Ais,1483
17
17
  Dshell/_DshellTokenizer/dshell_tokenizer.py,sha256=-EhwrfbcOcnAxOHWBE89531t25u6c6HmJuT1AKFn9Ew,7032
18
- dshellinterpreter-0.2.6.dist-info/licenses/LICENSE,sha256=lNgcw1_xb7QENAQi3uHGymaFtbs0RV-ihiCd7AoLQjA,1082
19
- dshellinterpreter-0.2.6.dist-info/METADATA,sha256=Jz3dKMPUOvctCRFSCWcsu2M5JQYxcqIi2cf0BWy3u9s,1120
20
- dshellinterpreter-0.2.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
21
- dshellinterpreter-0.2.6.dist-info/top_level.txt,sha256=B4CMhtmchGwPQJLuqUy0GhRG-0cUGxKL4GqEbCiB_vE,7
22
- dshellinterpreter-0.2.6.dist-info/RECORD,,
18
+ dshellinterpreter-0.2.7.dist-info/licenses/LICENSE,sha256=lNgcw1_xb7QENAQi3uHGymaFtbs0RV-ihiCd7AoLQjA,1082
19
+ dshellinterpreter-0.2.7.dist-info/METADATA,sha256=LARUNA64iPo4c79uHLyrbkgOTjY1d7qLaknadneM9xQ,1120
20
+ dshellinterpreter-0.2.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
21
+ dshellinterpreter-0.2.7.dist-info/top_level.txt,sha256=B4CMhtmchGwPQJLuqUy0GhRG-0cUGxKL4GqEbCiB_vE,7
22
+ dshellinterpreter-0.2.7.dist-info/RECORD,,