dshellInterpreter 0.2.17.3__tar.gz → 0.2.18.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 (37) hide show
  1. dshellinterpreter-0.2.18.0/Dshell/DISCORD_COMMANDS/utils/utils_string.py +96 -0
  2. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/_DshellTokenizer/dshell_keywords.py +9 -0
  3. {dshellinterpreter-0.2.17.3/dshellInterpreter.egg-info → dshellinterpreter-0.2.18.0}/PKG-INFO +1 -1
  4. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0/dshellInterpreter.egg-info}/PKG-INFO +1 -1
  5. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/dshellInterpreter.egg-info/SOURCES.txt +1 -0
  6. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/setup.py +1 -1
  7. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/DISCORD_COMMANDS/__init__.py +0 -0
  8. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/DISCORD_COMMANDS/dshell_channel.py +0 -0
  9. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/DISCORD_COMMANDS/dshell_interaction.py +0 -0
  10. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/DISCORD_COMMANDS/dshell_member.py +0 -0
  11. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/DISCORD_COMMANDS/dshell_message.py +0 -0
  12. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/DISCORD_COMMANDS/dshell_pastbin.py +0 -0
  13. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/DISCORD_COMMANDS/dshell_role.py +0 -0
  14. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/DISCORD_COMMANDS/utils/__init__.py +0 -0
  15. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/DISCORD_COMMANDS/utils/utils_global.py +0 -0
  16. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/DISCORD_COMMANDS/utils/utils_list.py +0 -0
  17. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/DISCORD_COMMANDS/utils/utils_member.py +0 -0
  18. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/DISCORD_COMMANDS/utils/utils_message.py +0 -0
  19. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/DISCORD_COMMANDS/utils/utils_permissions.py +0 -0
  20. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/DISCORD_COMMANDS/utils/utils_thread.py +0 -0
  21. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/_DshellInterpreteur/__init__.py +0 -0
  22. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/_DshellInterpreteur/dshell_interpreter.py +0 -0
  23. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/_DshellInterpreteur/errors.py +0 -0
  24. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/_DshellParser/__init__.py +0 -0
  25. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/_DshellParser/ast_nodes.py +0 -0
  26. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/_DshellParser/dshell_parser.py +0 -0
  27. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/_DshellTokenizer/__init__.py +0 -0
  28. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/_DshellTokenizer/dshell_token_type.py +0 -0
  29. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/_DshellTokenizer/dshell_tokenizer.py +0 -0
  30. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/__init__.py +0 -0
  31. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/Dshell/_utils.py +0 -0
  32. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/LICENSE +0 -0
  33. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/README.md +0 -0
  34. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/dshellInterpreter.egg-info/dependency_links.txt +0 -0
  35. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/dshellInterpreter.egg-info/requires.txt +0 -0
  36. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/dshellInterpreter.egg-info/top_level.txt +0 -0
  37. {dshellinterpreter-0.2.17.3 → dshellinterpreter-0.2.18.0}/setup.cfg +0 -0
@@ -0,0 +1,96 @@
1
+ __all__ = [
2
+ "utils_split_string",
3
+ "utils_upper_string",
4
+ "utils_lower_string",
5
+ "utils_title_string",
6
+ "utils_strip_string",
7
+ "utils_replace_string"
8
+ ]
9
+
10
+ from discord import Message
11
+
12
+ async def utils_split_string(ctx: Message, value: str, separator: str = ' ') -> "ListNode":
13
+ """
14
+ Split a string into a list of strings using the specified separator.
15
+ :param value:
16
+ :param separator:
17
+ :return:
18
+ """
19
+
20
+ if not isinstance(value, str):
21
+ raise TypeError(f"value must be a str in split command, not {type(value)}")
22
+
23
+ if not isinstance(separator, str):
24
+ raise TypeError(f"separator must be a str in split command, not {type(separator)}")
25
+
26
+ from ..._DshellParser.ast_nodes import ListNode
27
+
28
+ return ListNode(value.split(separator))
29
+
30
+ async def utils_upper_string(ctx: Message, value: str) -> str:
31
+ """
32
+ Convert a string to uppercase.
33
+ :param value:
34
+ :return:
35
+ """
36
+
37
+ if not isinstance(value, str):
38
+ raise TypeError(f"value must be a str in upper command, not {type(value)}")
39
+
40
+ return value.upper()
41
+
42
+ async def utils_lower_string(ctx: Message, value: str) -> str:
43
+ """
44
+ Convert a string to lowercase.
45
+ :param value:
46
+ :return:
47
+ """
48
+
49
+ if not isinstance(value, str):
50
+ raise TypeError(f"value must be a str in lower command, not {type(value)}")
51
+
52
+ return value.lower()
53
+
54
+ async def utils_title_string(ctx: Message, value: str) -> str:
55
+ """
56
+ Convert a string to title case.
57
+ :param value:
58
+ :return:
59
+ """
60
+
61
+ if not isinstance(value, str):
62
+ raise TypeError(f"value must be a str in title command, not {type(value)}")
63
+
64
+ return value.title()
65
+
66
+ async def utils_strip_string(ctx: Message, value: str) -> str:
67
+ """
68
+ Strip whitespace from the beginning and end of a string.
69
+ :param value:
70
+ :return:
71
+ """
72
+
73
+ if not isinstance(value, str):
74
+ raise TypeError(f"value must be a str in strip command, not {type(value)}")
75
+
76
+ return value.strip()
77
+
78
+ async def utils_replace_string(ctx: Message, value: str, old: str, new: str) -> str:
79
+ """
80
+ Replace all occurrences of old with new in a string.
81
+ :param value:
82
+ :param old:
83
+ :param new:
84
+ :return:
85
+ """
86
+
87
+ if not isinstance(value, str):
88
+ raise TypeError(f"value must be a str in replace command, not {type(value)}")
89
+
90
+ if not isinstance(old, str):
91
+ raise TypeError(f"old must be a str in replace command, not {type(old)}")
92
+
93
+ if not isinstance(new, str):
94
+ raise TypeError(f"new must be a str in replace command, not {type(new)}")
95
+
96
+ return value.replace(old, new)
@@ -19,6 +19,7 @@ from ..DISCORD_COMMANDS.dshell_interaction import *
19
19
  from ..DISCORD_COMMANDS.utils.utils_global import *
20
20
  from ..DISCORD_COMMANDS.utils.utils_list import *
21
21
  from ..DISCORD_COMMANDS.utils.utils_member import *
22
+ from ..DISCORD_COMMANDS.utils.utils_string import *
22
23
 
23
24
  dshell_keyword: set[str] = {
24
25
  'if', 'else', 'elif', 'loop', '#end', 'var', '#loop', '#if', 'sleep', 'param', '#param'
@@ -43,6 +44,14 @@ dshell_commands: dict[str, Callable] = {
43
44
  'reverse': utils_list_reverse,
44
45
  'get': utils_list_get_value,
45
46
 
47
+ ## String utils
48
+ 'split': utils_split_string,
49
+ 'upper': utils_upper_string,
50
+ 'lower': utils_lower_string,
51
+ 'title': utils_title_string,
52
+ 'strip': utils_strip_string,
53
+ 'replace': utils_replace_string,
54
+
46
55
  ## Discord utils
47
56
  'name': utils_get_name, # get the name from id (channel, role, member)
48
57
  'id': utils_get_id, # get the id from name (channel, role, member)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dshellInterpreter
3
- Version: 0.2.17.3
3
+ Version: 0.2.18.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.17.3
3
+ Version: 0.2.18.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
@@ -16,6 +16,7 @@ Dshell/DISCORD_COMMANDS/utils/utils_list.py
16
16
  Dshell/DISCORD_COMMANDS/utils/utils_member.py
17
17
  Dshell/DISCORD_COMMANDS/utils/utils_message.py
18
18
  Dshell/DISCORD_COMMANDS/utils/utils_permissions.py
19
+ Dshell/DISCORD_COMMANDS/utils/utils_string.py
19
20
  Dshell/DISCORD_COMMANDS/utils/utils_thread.py
20
21
  Dshell/_DshellInterpreteur/__init__.py
21
22
  Dshell/_DshellInterpreteur/dshell_interpreter.py
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
5
5
 
6
6
  setup(
7
7
  name="dshellInterpreter",
8
- version="0.2.17.3",
8
+ version="0.2.18.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.",