dshellInterpreter 1.2.7.9__tar.gz → 1.2.7.10__tar.gz

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.
Files changed (53) hide show
  1. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/dshell_ui.py +1 -1
  2. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellParser/ast_nodes.py +153 -0
  3. {dshellinterpreter-1.2.7.9/dshellInterpreter.egg-info → dshellinterpreter-1.2.7.10}/PKG-INFO +1 -1
  4. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10/dshellInterpreter.egg-info}/PKG-INFO +1 -1
  5. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/setup.py +1 -1
  6. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/__init__.py +0 -0
  7. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/dshell_channel.py +0 -0
  8. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/dshell_embed.py +0 -0
  9. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/dshell_file.py +0 -0
  10. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/dshell_interaction.py +0 -0
  11. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/dshell_member.py +0 -0
  12. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/dshell_message.py +0 -0
  13. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/dshell_pastbin.py +0 -0
  14. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/dshell_role.py +0 -0
  15. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/utils/__init__.py +0 -0
  16. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/utils/utils_embed.py +0 -0
  17. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/utils/utils_file.py +0 -0
  18. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/utils/utils_global.py +0 -0
  19. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/utils/utils_list.py +0 -0
  20. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/utils/utils_member.py +0 -0
  21. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/utils/utils_message.py +0 -0
  22. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/utils/utils_numbers.py +0 -0
  23. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/utils/utils_permissions.py +0 -0
  24. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/utils/utils_string.py +0 -0
  25. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/utils/utils_thread.py +0 -0
  26. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DISCORD_COMMANDS/utils/utils_type_validation.py +0 -0
  27. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellInterpreteur/__init__.py +0 -0
  28. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellInterpreteur/cached_messages.py +0 -0
  29. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellInterpreteur/dshell_arguments.py +0 -0
  30. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellInterpreteur/dshell_global_variables.py +0 -0
  31. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellInterpreteur/dshell_interpreter.py +0 -0
  32. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellInterpreteur/dshell_iterators.py +0 -0
  33. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellInterpreteur/dshell_scope.py +0 -0
  34. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellInterpreteur/errors.py +0 -0
  35. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellInterpreteur/utils_interpreter.py +0 -0
  36. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellParser/__init__.py +0 -0
  37. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellParser/dshell_parser.py +0 -0
  38. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellParser/errors.py +0 -0
  39. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellPreProcess/__init__.py +0 -0
  40. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellPreProcess/dshell_preprocess.py +0 -0
  41. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellTokenizer/__init__.py +0 -0
  42. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellTokenizer/dshell_keywords.py +0 -0
  43. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellTokenizer/dshell_token_type.py +0 -0
  44. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/DshellTokenizer/dshell_tokenizer.py +0 -0
  45. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/__init__.py +0 -0
  46. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/Dshell/full_import.py +0 -0
  47. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/LICENSE +0 -0
  48. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/README.md +0 -0
  49. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/dshellInterpreter.egg-info/SOURCES.txt +0 -0
  50. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/dshellInterpreter.egg-info/dependency_links.txt +0 -0
  51. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/dshellInterpreter.egg-info/requires.txt +0 -0
  52. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/dshellInterpreter.egg-info/top_level.txt +0 -0
  53. {dshellinterpreter-1.2.7.9 → dshellinterpreter-1.2.7.10}/setup.cfg +0 -0
@@ -208,7 +208,7 @@ async def build_ui(ui_node: Union[UiButtonNode, UiSelectNode], interpreter: "Dsh
208
208
 
209
209
  if isinstance(ui_node, UiButtonNode):
210
210
  async for _, args_button, code in build_ui_button_parameters(ui_node, interpreter):
211
- view.timeout = args_button.pop('timeout', UITimeout.default_timeout)
211
+ view.timeout = args_button.pop('timeout', IntNode(UITimeout.default_timeout))
212
212
  b = ui.Button(**args_button)
213
213
  view.add_items(b)
214
214
  view.set_callable(b.custom_id, _callable=ui_button_callback, data={'code': code, scope_id: interpreter.scope_id})
@@ -1,3 +1,5 @@
1
+ from typing_extensions import Literal
2
+
1
3
  from Dshell.full_import import (
2
4
  Any,
3
5
  randint,
@@ -141,6 +143,57 @@ class IntNode(int, ASTNode, DATANode):
141
143
  def __sizeof__(self):
142
144
  return getsizeof(IntNode)
143
145
 
146
+ def __add__(self, value: "IntNode", /) -> "IntNode":
147
+ if not isinstance(value, IntNode):
148
+ raise Exception(f"Cannot add {type(value).__name__} type to IntNode")
149
+ return IntNode(super().__add__(value))
150
+
151
+ def __sub__(self, value: "IntNode", /) -> "IntNode":
152
+ if not isinstance(value, IntNode):
153
+ raise Exception(f"Cannot sub {type(value).__name__} type to IntNode")
154
+ return IntNode(super().__sub__(value))
155
+
156
+ def __pow__(self, x: "IntNode", /) -> "IntNode":
157
+ if not isinstance(x, IntNode):
158
+ raise Exception(f"Cannot pow {type(x).__name__} type to IntNode")
159
+ return IntNode(super().__pow__(x))
160
+
161
+ def __floordiv__(self, value: "IntNode", /) -> "IntNode":
162
+ if not isinstance(value, IntNode):
163
+ raise Exception(f"Cannot divide {type(value).__name__} type to IntNode")
164
+ return IntNode(super().__floordiv__(value))
165
+
166
+ def __rshift__(self, value: "IntNode", /) -> "IntNode":
167
+ if not isinstance(value, IntNode):
168
+ raise Exception(f"Cannot shift to the right {type(value).__name__} type to IntNode")
169
+ return IntNode(super().__rshift__(value))
170
+
171
+ def __lshift__(self, value: "IntNode", /) -> "IntNode":
172
+ if not isinstance(value, IntNode):
173
+ raise Exception(f"Cannot shift to the left {type(value).__name__} type to IntNode")
174
+ return IntNode(super().__lshift__(value))
175
+
176
+ def __xor__(self, value: "IntNode", /) -> "IntNode":
177
+ if not isinstance(value, IntNode):
178
+ raise Exception(f"Cannot xor {type(value).__name__} type to IntNode")
179
+ return IntNode(super().__xor__(value))
180
+
181
+ def __truediv__(self, value: "IntNode", /) -> "FloatNode":
182
+ if not isinstance(value, IntNode):
183
+ raise Exception(f"Cannot divide {type(value).__name__} type to IntNode")
184
+ return FloatNode(super().__truediv__(value))
185
+
186
+ def __mul__(self, value: "IntNode", /) -> "IntNode":
187
+ if not isinstance(value, IntNode):
188
+ raise Exception(f"Cannot multiply {type(value).__name__} type to IntNode")
189
+ return IntNode(super().__mul__(value))
190
+
191
+ def __mod__(self, value: "IntNode", /) -> "IntNode":
192
+ if not isinstance(value, IntNode):
193
+ raise Exception(f"Cannot modulo {type(value).__name__} type to IntNode")
194
+ return IntNode(super().__mod__(value))
195
+
196
+
144
197
  class FloatNode(float, ASTNode, DATANode):
145
198
  def __new__(cls, value: Union[str, StrNode, float, "FloatNode", int, IntNode]):
146
199
  return super().__new__(cls, value)
@@ -151,6 +204,56 @@ class FloatNode(float, ASTNode, DATANode):
151
204
  def __sizeof__(self):
152
205
  return getsizeof(FloatNode)
153
206
 
207
+ def __add__(self, value: "FloatNode", /) -> "FloatNode":
208
+ if not isinstance(value, FloatNode):
209
+ raise Exception(f"Cannot add {type(value).__name__} type to FloatNode")
210
+ return FloatNode(super().__add__(value))
211
+
212
+ def __sub__(self, value: "FloatNode", /) -> "FloatNode":
213
+ if not isinstance(value, FloatNode):
214
+ raise Exception(f"Cannot sub {type(value).__name__} type to FloatNode")
215
+ return FloatNode(super().__sub__(value))
216
+
217
+ def __pow__(self, x: "FloatNode", /) -> "FloatNode":
218
+ if not isinstance(x, FloatNode):
219
+ raise Exception(f"Cannot pow {type(x).__name__} type to FloatNode")
220
+ return FloatNode(super().__pow__(x))
221
+
222
+ def __floordiv__(self, value: "FloatNode", /) -> "FloatNode":
223
+ if not isinstance(value, FloatNode):
224
+ raise Exception(f"Cannot divide {type(value).__name__} type to FloatNode")
225
+ return FloatNode(super().__floordiv__(value))
226
+
227
+ def __rshift__(self, value: "FloatNode", /) -> "FloatNode":
228
+ if not isinstance(value, FloatNode):
229
+ raise Exception(f"Cannot shift to the right {type(value).__name__} type to FloatNode")
230
+ return FloatNode(super().__rshift__(value))
231
+
232
+ def __lshift__(self, value: "FloatNode", /) -> "FloatNode":
233
+ if not isinstance(value, FloatNode):
234
+ raise Exception(f"Cannot shift to the left {type(value).__name__} type to FloatNode")
235
+ return FloatNode(super().__lshift__(value))
236
+
237
+ def __xor__(self, value: "FloatNode", /) -> "FloatNode":
238
+ if not isinstance(value, FloatNode):
239
+ raise Exception(f"Cannot xor {type(value).__name__} type to FloatNode")
240
+ return FloatNode(super().__xor__(value))
241
+
242
+ def __truediv__(self, value: "FloatNode", /) -> "FloatNode":
243
+ if not isinstance(value, FloatNode):
244
+ raise Exception(f"Cannot divide {type(value).__name__} type to FloatNode")
245
+ return FloatNode(super().__truediv__(value))
246
+
247
+ def __mul__(self, value: "FloatNode", /) -> "FloatNode":
248
+ if not isinstance(value, FloatNode):
249
+ raise Exception(f"Cannot multiply {type(value).__name__} type to FloatNode")
250
+ return FloatNode(super().__mul__(value))
251
+
252
+ def __mod__(self, value: "FloatNode", /) -> "FloatNode":
253
+ if not isinstance(value, FloatNode):
254
+ raise Exception(f"Cannot modulo {type(value).__name__} type to FloatNode")
255
+ return FloatNode(super().__mod__(value))
256
+
154
257
  class BoolNode(int, ASTNode, DATANode):
155
258
  def __new__(cls, value: Union[str, StrNode, int, IntNode, bool, "BoolNode"]):
156
259
  return super().__new__(cls, int(bool(value)))
@@ -161,6 +264,56 @@ class BoolNode(int, ASTNode, DATANode):
161
264
  def __sizeof__(self):
162
265
  return getsizeof(BoolNode)
163
266
 
267
+ def __add__(self, value: Union["BoolNode", "IntNode"], /) -> "BoolNode":
268
+ if not isinstance(value, (BoolNode, IntNode)):
269
+ raise Exception(f"Cannot add {type(value).__name__} type to IntNode")
270
+ return BoolNode(super().__add__(value))
271
+
272
+ def __sub__(self, value: Union["BoolNode", "IntNode"], /) -> "BoolNode":
273
+ if not isinstance(value, (BoolNode, IntNode)):
274
+ raise Exception(f"Cannot sub {type(value).__name__} type to IntNode")
275
+ return BoolNode(super().__sub__(value))
276
+
277
+ def __pow__(self, x: Union["BoolNode", "IntNode"], /) -> "BoolNode":
278
+ if not isinstance(x, (BoolNode, IntNode)):
279
+ raise Exception(f"Cannot pow {type(x).__name__} type to IntNode")
280
+ return BoolNode(super().__pow__(x))
281
+
282
+ def __floordiv__(self, value: Union["BoolNode", "IntNode"], /) -> "BoolNode":
283
+ if not isinstance(value, (BoolNode, IntNode)):
284
+ raise Exception(f"Cannot divide {type(value).__name__} type to IntNode")
285
+ return BoolNode(super().__floordiv__(value))
286
+
287
+ def __rshift__(self, value: Union["BoolNode", "IntNode"], /) -> "BoolNode":
288
+ if not isinstance(value, (BoolNode, IntNode)):
289
+ raise Exception(f"Cannot shift to the right {type(value).__name__} type to IntNode")
290
+ return BoolNode(super().__rshift__(value))
291
+
292
+ def __lshift__(self, value: Union["BoolNode", "IntNode"], /) -> "BoolNode":
293
+ if not isinstance(value, (BoolNode, IntNode)):
294
+ raise Exception(f"Cannot shift to the left {type(value).__name__} type to IntNode")
295
+ return BoolNode(super().__lshift__(value))
296
+
297
+ def __xor__(self, value: Union["BoolNode", "IntNode"], /) -> "BoolNode":
298
+ if not isinstance(value, (BoolNode, IntNode)):
299
+ raise Exception(f"Cannot xor {type(value).__name__} type to IntNode")
300
+ return BoolNode(super().__xor__(value))
301
+
302
+ def __truediv__(self, value: Union["BoolNode", "IntNode"], /) -> "BoolNode":
303
+ if not isinstance(value, (BoolNode, IntNode)):
304
+ raise Exception(f"Cannot divide {type(value).__name__} type to IntNode")
305
+ return BoolNode(super().__truediv__(value))
306
+
307
+ def __mul__(self, value: Union["BoolNode", "IntNode"], /) -> "BoolNode":
308
+ if not isinstance(value, (BoolNode, IntNode)):
309
+ raise Exception(f"Cannot multiply {type(value).__name__} type to IntNode")
310
+ return BoolNode(super().__mul__(value))
311
+
312
+ def __mod__(self, value: Union["BoolNode", "IntNode"], /) -> "BoolNode":
313
+ if not isinstance(value, (BoolNode, IntNode)):
314
+ raise Exception(f"Cannot modulo {type(value).__name__} type to IntNode")
315
+ return BoolNode(super().__mod__(value))
316
+
164
317
  class StartNode(ASTNode):
165
318
  """
166
319
  Node representing the start of the AST.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dshellInterpreter
3
- Version: 1.2.7.9
3
+ Version: 1.2.7.10
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dshellInterpreter
3
- Version: 1.2.7.9
3
+ Version: 1.2.7.10
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
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
5
5
 
6
6
  setup(
7
7
  name="dshellInterpreter",
8
- version="1.2.7.9",
8
+ version="1.2.7.10",
9
9
  author="Chronos",
10
10
  author_email="vagabonwalybi@gmail.com",
11
11
  description="A Discord bot interpreter for creating custom commands and automations.",