dshellInterpreter 0.2.15.3__tar.gz → 0.2.16.0__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.

Potentially problematic release.


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

Files changed (33) hide show
  1. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/DISCORD_COMMANDS/utils/utils_global.py +1 -1
  2. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/DISCORD_COMMANDS/utils/utils_list.py +29 -11
  3. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/_DshellParser/ast_nodes.py +8 -0
  4. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/_DshellTokenizer/dshell_keywords.py +1 -0
  5. {dshellinterpreter-0.2.15.3/dshellInterpreter.egg-info → dshellinterpreter-0.2.16.0}/PKG-INFO +1 -1
  6. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0/dshellInterpreter.egg-info}/PKG-INFO +1 -1
  7. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/setup.py +1 -1
  8. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/DISCORD_COMMANDS/__init__.py +0 -0
  9. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/DISCORD_COMMANDS/dshell_channel.py +0 -0
  10. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/DISCORD_COMMANDS/dshell_interaction.py +0 -0
  11. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/DISCORD_COMMANDS/dshell_member.py +0 -0
  12. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/DISCORD_COMMANDS/dshell_message.py +0 -0
  13. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/DISCORD_COMMANDS/dshell_pastbin.py +0 -0
  14. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/DISCORD_COMMANDS/dshell_role.py +0 -0
  15. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/DISCORD_COMMANDS/utils/__init__.py +0 -0
  16. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/DISCORD_COMMANDS/utils/utils_message.py +0 -0
  17. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/DISCORD_COMMANDS/utils/utils_thread.py +0 -0
  18. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/_DshellInterpreteur/__init__.py +0 -0
  19. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/_DshellInterpreteur/dshell_interpreter.py +0 -0
  20. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/_DshellParser/__init__.py +0 -0
  21. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/_DshellParser/dshell_parser.py +0 -0
  22. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/_DshellTokenizer/__init__.py +0 -0
  23. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/_DshellTokenizer/dshell_token_type.py +0 -0
  24. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/_DshellTokenizer/dshell_tokenizer.py +0 -0
  25. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/__init__.py +0 -0
  26. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/Dshell/_utils.py +0 -0
  27. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/LICENSE +0 -0
  28. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/README.md +0 -0
  29. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/dshellInterpreter.egg-info/SOURCES.txt +0 -0
  30. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/dshellInterpreter.egg-info/dependency_links.txt +0 -0
  31. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/dshellInterpreter.egg-info/requires.txt +0 -0
  32. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/dshellInterpreter.egg-info/top_level.txt +0 -0
  33. {dshellinterpreter-0.2.15.3 → dshellinterpreter-0.2.16.0}/setup.cfg +0 -0
@@ -2,7 +2,7 @@ __all__ = [
2
2
  "utils_len",
3
3
  ]
4
4
 
5
- async def utils_len(value):
5
+ async def utils_len(ctx, value):
6
6
  """
7
7
  Return the length of a list, or a string
8
8
  :param value:
@@ -4,10 +4,11 @@ __all__ = [
4
4
  "utils_list_clear",
5
5
  "utils_list_pop",
6
6
  "utils_list_sort",
7
- "utils_list_reverse"
7
+ "utils_list_reverse",
8
+ "utils_list_get_value",
8
9
  ]
9
10
 
10
- async def utils_list_add(value: "ListNode", *elements):
11
+ async def utils_list_add(ctx, value: "ListNode", *elements):
11
12
  """
12
13
  Add an element to a list
13
14
  :param value:
@@ -19,25 +20,28 @@ async def utils_list_add(value: "ListNode", *elements):
19
20
  raise TypeError("value must be a list in add command")
20
21
 
21
22
  for elem in elements:
22
- value.add(elem)
23
+ if isinstance(elem, ListNode):
24
+ value.extend(elem)
25
+ else:
26
+ value.add(elem)
23
27
  return value
24
28
 
25
- async def utils_list_remove(value: "ListNode", *elements):
29
+ async def utils_list_remove(ctx, value: "ListNode", element, count: int = 1):
26
30
  """
27
31
  Remove an element from a list
28
32
  :param value:
29
- :param elements:
33
+ :param element:
34
+ :param count:
30
35
  :return:
31
36
  """
32
37
  from ..._DshellParser.ast_nodes import ListNode
33
38
  if not isinstance(value, ListNode):
34
39
  raise TypeError("value must be a list in remove command")
35
40
 
36
- for elem in elements:
37
- value.remove(elem)
41
+ value.remove(element, count)
38
42
  return value
39
43
 
40
- async def utils_list_clear(value: "ListNode"):
44
+ async def utils_list_clear(ctx, value: "ListNode"):
41
45
  """
42
46
  Clear a list
43
47
  :param value:
@@ -49,7 +53,7 @@ async def utils_list_clear(value: "ListNode"):
49
53
  value.clear()
50
54
  return value
51
55
 
52
- async def utils_list_pop(value: "ListNode", index: int = -1):
56
+ async def utils_list_pop(ctx, value: "ListNode", index: int = -1):
53
57
  """
54
58
  Pop an element from a list
55
59
  :param value:
@@ -63,7 +67,7 @@ async def utils_list_pop(value: "ListNode", index: int = -1):
63
67
  raise TypeError("index must be an integer in pop command")
64
68
  return value.pop(index)
65
69
 
66
- async def utils_list_sort(value: "ListNode", reverse: bool = False):
70
+ async def utils_list_sort(ctx, value: "ListNode", reverse: bool = False):
67
71
  """
68
72
  Sort a list
69
73
  :param value:
@@ -78,7 +82,7 @@ async def utils_list_sort(value: "ListNode", reverse: bool = False):
78
82
  value.sort(reverse=reverse)
79
83
  return value
80
84
 
81
- async def utils_list_reverse(value: "ListNode"):
85
+ async def utils_list_reverse(ctx, value: "ListNode"):
82
86
  """
83
87
  Reverse a list
84
88
  :param value:
@@ -89,3 +93,17 @@ async def utils_list_reverse(value: "ListNode"):
89
93
  raise TypeError("value must be a list in reverse command")
90
94
  value.reverse()
91
95
  return value
96
+
97
+ async def utils_list_get_value(ctx, value: "ListNode", index: int):
98
+ """
99
+ Get a value from a list
100
+ :param value:
101
+ :param index:
102
+ :return:
103
+ """
104
+ from ..._DshellParser.ast_nodes import ListNode
105
+ if not isinstance(value, ListNode):
106
+ raise TypeError("value must be a list in get command")
107
+ if not isinstance(index, int):
108
+ raise TypeError("index must be an integer in get command")
109
+ return value[index]
@@ -602,6 +602,14 @@ class ListNode(ASTNode):
602
602
  """
603
603
  self.iterable.reverse()
604
604
 
605
+ def extend(self, values: "ListNode"):
606
+ """
607
+ Extend the list with another list.
608
+ :param values: List of values to extend the list with.
609
+ """
610
+ for v in values:
611
+ self.add(v)
612
+
605
613
  def __add__(self, other: "ListNode"):
606
614
  """
607
615
  Add another ListNode to this one.
@@ -37,6 +37,7 @@ dshell_commands: dict[str, Callable] = {
37
37
  'pop': utils_list_pop,
38
38
  'sort': utils_list_sort,
39
39
  'reverse': utils_list_reverse,
40
+ 'get': utils_list_get_value,
40
41
 
41
42
  "gp": dshell_get_pastbin, # get pastbin
42
43
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dshellInterpreter
3
- Version: 0.2.15.3
3
+ Version: 0.2.16.0
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: 0.2.15.3
3
+ Version: 0.2.16.0
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="0.2.15.3",
8
+ version="0.2.16.0",
9
9
  author="Chronos",
10
10
  author_email="vagabonwalybi@gmail.com",
11
11
  description="A Discord bot interpreter for creating custom commands and automations.",