AdvancedTagscript 3.2.3__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.
Files changed (48) hide show
  1. TagScriptEngine/__init__.py +227 -0
  2. TagScriptEngine/_warnings.py +88 -0
  3. TagScriptEngine/adapter/__init__.py +50 -0
  4. TagScriptEngine/adapter/discordadapters.py +596 -0
  5. TagScriptEngine/adapter/functionadapter.py +23 -0
  6. TagScriptEngine/adapter/intadapter.py +22 -0
  7. TagScriptEngine/adapter/objectadapter.py +35 -0
  8. TagScriptEngine/adapter/redbotadapters.py +161 -0
  9. TagScriptEngine/adapter/stringadapter.py +47 -0
  10. TagScriptEngine/block/__init__.py +130 -0
  11. TagScriptEngine/block/allowedmentions.py +60 -0
  12. TagScriptEngine/block/assign.py +43 -0
  13. TagScriptEngine/block/breakblock.py +41 -0
  14. TagScriptEngine/block/case.py +63 -0
  15. TagScriptEngine/block/command.py +141 -0
  16. TagScriptEngine/block/comment.py +29 -0
  17. TagScriptEngine/block/control.py +149 -0
  18. TagScriptEngine/block/cooldown.py +95 -0
  19. TagScriptEngine/block/count.py +68 -0
  20. TagScriptEngine/block/embedblock.py +306 -0
  21. TagScriptEngine/block/fiftyfifty.py +34 -0
  22. TagScriptEngine/block/helpers.py +164 -0
  23. TagScriptEngine/block/loosevariablegetter.py +40 -0
  24. TagScriptEngine/block/mathblock.py +164 -0
  25. TagScriptEngine/block/randomblock.py +51 -0
  26. TagScriptEngine/block/range.py +56 -0
  27. TagScriptEngine/block/redirect.py +42 -0
  28. TagScriptEngine/block/replaceblock.py +110 -0
  29. TagScriptEngine/block/require_blacklist.py +79 -0
  30. TagScriptEngine/block/shortcutredirect.py +23 -0
  31. TagScriptEngine/block/stopblock.py +38 -0
  32. TagScriptEngine/block/strf.py +70 -0
  33. TagScriptEngine/block/strictvariablegetter.py +38 -0
  34. TagScriptEngine/block/substr.py +25 -0
  35. TagScriptEngine/block/urlencodeblock.py +41 -0
  36. TagScriptEngine/exceptions.py +105 -0
  37. TagScriptEngine/interface/__init__.py +14 -0
  38. TagScriptEngine/interface/adapter.py +75 -0
  39. TagScriptEngine/interface/block.py +124 -0
  40. TagScriptEngine/interpreter.py +502 -0
  41. TagScriptEngine/py.typed +0 -0
  42. TagScriptEngine/utils.py +71 -0
  43. TagScriptEngine/verb.py +160 -0
  44. advancedtagscript-3.2.3.dist-info/METADATA +99 -0
  45. advancedtagscript-3.2.3.dist-info/RECORD +48 -0
  46. advancedtagscript-3.2.3.dist-info/WHEEL +5 -0
  47. advancedtagscript-3.2.3.dist-info/licenses/LICENSE +1 -0
  48. advancedtagscript-3.2.3.dist-info/top_level.txt +1 -0
@@ -0,0 +1,227 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Final, NamedTuple, Tuple
4
+
5
+ from .adapter import (
6
+ SafeObjectAdapter as SafeObjectAdapter,
7
+ StringAdapter as StringAdapter,
8
+ IntAdapter as IntAdapter,
9
+ FunctionAdapter as FunctionAdapter,
10
+ DiscordAttributeAdapter as DiscordAttributeAdapter,
11
+ UserAdapter as UserAdapter,
12
+ MemberAdapter as MemberAdapter,
13
+ DMChannelAdapter as DMChannelAdapter,
14
+ ChannelAdapter as ChannelAdapter,
15
+ GuildAdapter as GuildAdapter,
16
+ RoleAdapter as RoleAdapter,
17
+ AttributeAdapter as AttributeAdapter,
18
+ DiscordObjectAdapter as DiscordObjectAdapter,
19
+ RedCommandAdapter as RedCommandAdapter,
20
+ RedBotAdapter as RedBotAdapter,
21
+ )
22
+ from .block import (
23
+ implicit_bool as implicit_bool,
24
+ helper_parse_if as helper_parse_if,
25
+ helper_parse_list_if as helper_parse_list_if,
26
+ helper_split as helper_split,
27
+ AllowedMentionsBlock as AllowedMentionsBlock,
28
+ AllBlock as AllBlock,
29
+ AnyBlock as AnyBlock,
30
+ AssignmentBlock as AssignmentBlock,
31
+ BlacklistBlock as BlacklistBlock,
32
+ BreakBlock as BreakBlock,
33
+ SequentialGather as SequentialGather,
34
+ CommandBlock as CommandBlock,
35
+ EmbedBlock as EmbedBlock,
36
+ FiftyFiftyBlock as FiftyFiftyBlock,
37
+ IfBlock as IfBlock,
38
+ LooseVariableGetterBlock as LooseVariableGetterBlock,
39
+ MathBlock as MathBlock,
40
+ OverrideBlock as OverrideBlock,
41
+ PythonBlock as PythonBlock,
42
+ RandomBlock as RandomBlock,
43
+ RangeBlock as RangeBlock,
44
+ RedirectBlock as RedirectBlock,
45
+ ReplaceBlock as ReplaceBlock,
46
+ RequireBlock as RequireBlock,
47
+ ShortCutRedirectBlock as ShortCutRedirectBlock,
48
+ StopBlock as StopBlock,
49
+ StrfBlock as StrfBlock,
50
+ StrictVariableGetterBlock as StrictVariableGetterBlock,
51
+ SubstringBlock as SubstringBlock,
52
+ URLEncodeBlock as URLEncodeBlock,
53
+ UpperBlock as UpperBlock,
54
+ LowerBlock as LowerBlock,
55
+ CountBlock as CountBlock,
56
+ LengthBlock as LengthBlock,
57
+ CooldownBlock as CooldownBlock,
58
+ )
59
+ from .interface import (
60
+ Adapter as Adapter,
61
+ SimpleAdapter as SimpleAdapter,
62
+ Block as Block,
63
+ verb_required_block as verb_required_block,
64
+ )
65
+ from ._warnings import (
66
+ TagScriptEngineDeprecationWarning as TagScriptEngineDeprecationWarning,
67
+ )
68
+ from .exceptions import (
69
+ TagScriptError as TagScriptError,
70
+ WorkloadExceededError as WorkloadExceededError,
71
+ ProcessError as ProcessError,
72
+ EmbedParseError as EmbedParseError,
73
+ BadColourArgument as BadColourArgument,
74
+ StopError as StopError,
75
+ CooldownExceeded as CooldownExceeded,
76
+ )
77
+ from .interpreter import (
78
+ Interpreter as Interpreter,
79
+ AsyncInterpreter as AsyncInterpreter,
80
+ Context as Context,
81
+ Response as Response,
82
+ Node as Node,
83
+ build_node_tree as build_node_tree,
84
+ )
85
+ from .utils import (
86
+ truncate as truncate,
87
+ escape_content as escape_content,
88
+ maybe_await as maybe_await,
89
+ )
90
+ from .verb import (
91
+ Verb as Verb,
92
+ )
93
+
94
+
95
+ __all__: Tuple[str, ...] = (
96
+ "implicit_bool",
97
+ "helper_parse_if",
98
+ "helper_parse_list_if",
99
+ "helper_split",
100
+ "AllBlock",
101
+ "AnyBlock",
102
+ "AssignmentBlock",
103
+ "BlacklistBlock",
104
+ "BreakBlock",
105
+ "SequentialGather",
106
+ "CommandBlock",
107
+ "CooldownBlock",
108
+ "EmbedBlock",
109
+ "FiftyFiftyBlock",
110
+ "IfBlock",
111
+ "LooseVariableGetterBlock",
112
+ "MathBlock",
113
+ "OverrideBlock",
114
+ "PythonBlock",
115
+ "RandomBlock",
116
+ "RangeBlock",
117
+ "RedirectBlock",
118
+ "ReplaceBlock",
119
+ "RequireBlock",
120
+ "ShortCutRedirectBlock",
121
+ "StopBlock",
122
+ "StrfBlock",
123
+ "StrictVariableGetterBlock",
124
+ "SubstringBlock",
125
+ "URLEncodeBlock",
126
+ "UpperBlock",
127
+ "LowerBlock",
128
+ "CountBlock",
129
+ "LengthBlock",
130
+ "SafeObjectAdapter",
131
+ "StringAdapter",
132
+ "IntAdapter",
133
+ "FunctionAdapter",
134
+ "RedCommandAdapter",
135
+ "RedBotAdapter",
136
+ "AttributeAdapter",
137
+ "DiscordAttributeAdapter",
138
+ "UserAdapter",
139
+ "MemberAdapter",
140
+ "DMChannelAdapter",
141
+ "ChannelAdapter",
142
+ "GuildAdapter",
143
+ "RoleAdapter",
144
+ "DiscordObjectAdapter",
145
+ "Adapter",
146
+ "SimpleAdapter",
147
+ "Block",
148
+ "verb_required_block",
149
+ "TagScriptEngineDeprecationWarning",
150
+ "TagScriptError",
151
+ "WorkloadExceededError",
152
+ "ProcessError",
153
+ "EmbedParseError",
154
+ "BadColourArgument",
155
+ "StopError",
156
+ "CooldownExceeded",
157
+ "Interpreter",
158
+ "AsyncInterpreter",
159
+ "Context",
160
+ "Response",
161
+ "Node",
162
+ "build_node_tree",
163
+ "truncate",
164
+ "escape_content",
165
+ "maybe_await",
166
+ "Verb",
167
+ "__version__",
168
+ "VersionInfo",
169
+ "version_info",
170
+ )
171
+
172
+
173
+ __version__: Final[str] = "3.2.3"
174
+
175
+
176
+ class VersionNamedTuple(NamedTuple):
177
+ major: int
178
+ minor: int
179
+ micro: int
180
+
181
+
182
+ class VersionInfo(VersionNamedTuple):
183
+ """
184
+ Version information.
185
+
186
+ Attributes
187
+ ----------
188
+ major: int
189
+ Major version number.
190
+ minor: int
191
+ Minor version number.
192
+ micro: int
193
+ Micro version number.
194
+ """
195
+
196
+ __slots__: Tuple[str, ...] = ()
197
+
198
+ def __str__(self) -> str:
199
+ """
200
+ Returns a string representation of the version information.
201
+
202
+ Returns
203
+ -------
204
+ str
205
+ String representation of the version information.
206
+ """
207
+ return "{major}.{minor}.{micro}".format(**self._asdict())
208
+
209
+ @classmethod
210
+ def from_str(cls, version: str) -> "VersionInfo":
211
+ """
212
+ Returns a VersionInfo instance from a string.
213
+
214
+ Parameters
215
+ ----------
216
+ version: str
217
+ String representation of the version information.
218
+
219
+ Returns
220
+ -------
221
+ VersionInfo
222
+ Version information.
223
+ """
224
+ return cls(*map(int, version.split(".")))
225
+
226
+
227
+ version_info: VersionInfo = VersionInfo.from_str(__version__)
@@ -0,0 +1,88 @@
1
+ import warnings
2
+ import functools
3
+ from typing import Callable, Optional, Tuple, TypeVar
4
+ from typing_extensions import ParamSpec
5
+
6
+
7
+ _P = ParamSpec("_P")
8
+ _T = TypeVar("_T")
9
+
10
+
11
+ __all__: Tuple[str, ...] = (
12
+ "TagScriptEngineDeprecationWarning",
13
+ "TagScriptEngineAttributeRemovalWarning",
14
+ )
15
+
16
+
17
+ class TagScriptEngineAttributeRemovalWarning(Warning):
18
+ """A class for issuing removal warning for TagScriptEngine class attributes."""
19
+
20
+
21
+ class TagScriptEngineDeprecationWarning(DeprecationWarning):
22
+ """A class for issuing deprecation warnings for TagScriptEngine modules."""
23
+
24
+
25
+ def remove(
26
+ name: str, *, reason: Optional[str] = None, version: Optional[str] = None, level: int = 2
27
+ ) -> None:
28
+ warnings.warn(
29
+ "Removal: {name}.{reason}{version}".format(
30
+ name=name,
31
+ reason=" ({})".format(reason) if reason else "",
32
+ version=" -- Removal scheduled since version v{}".format(version) if version else "",
33
+ ),
34
+ category=TagScriptEngineAttributeRemovalWarning,
35
+ stacklevel=level,
36
+ )
37
+
38
+
39
+ def removal(
40
+ *,
41
+ name: Optional[str] = None,
42
+ reason: Optional[str] = None,
43
+ version: Optional[str] = None,
44
+ level: int = 3,
45
+ ) -> Callable[[Callable[_P, _T]], Callable[_P, _T]]:
46
+ def decorator(func: Callable[_P, _T]) -> Callable[_P, _T]:
47
+ functools.wraps(func)
48
+
49
+ def wrapper(*args: _P.args, **kwargs: _P.kwargs) -> _T:
50
+ remove(name or func.__name__, reason=reason, version=version, level=level)
51
+ return func(*args, **kwargs)
52
+
53
+ return wrapper
54
+
55
+ return decorator
56
+
57
+
58
+ def depricate(
59
+ name: str, *, reason: Optional[str] = None, version: Optional[str] = None, level: int = 2
60
+ ) -> None:
61
+ warnings.warn(
62
+ "Deprecated: {name}.{reason}{version}".format(
63
+ name=name,
64
+ reason=" ({})".format(reason) if reason else "",
65
+ version=" -- Deprecated since version v{}.".format(version) if version else "",
66
+ ),
67
+ category=TagScriptEngineDeprecationWarning,
68
+ stacklevel=level,
69
+ )
70
+
71
+
72
+ def deprecated(
73
+ *,
74
+ name: Optional[str] = None,
75
+ reason: Optional[str] = None,
76
+ version: Optional[str] = None,
77
+ level: int = 3,
78
+ ) -> Callable[[Callable[_P, _T]], Callable[_P, _T]]:
79
+ def decorator(func: Callable[_P, _T]) -> Callable[_P, _T]:
80
+ functools.wraps(func)
81
+
82
+ def wrapper(*args: _P.args, **kwargs: _P.kwargs) -> _T:
83
+ depricate(name or func.__name__, reason=reason, version=version, level=level)
84
+ return func(*args, **kwargs)
85
+
86
+ return wrapper
87
+
88
+ return decorator
@@ -0,0 +1,50 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Tuple
4
+
5
+ from .discordadapters import (
6
+ AttributeAdapter as AttributeAdapter,
7
+ DiscordAttributeAdapter as DiscordAttributeAdapter,
8
+ UserAdapter as UserAdapter,
9
+ MemberAdapter as MemberAdapter,
10
+ DMChannelAdapter as DMChannelAdapter,
11
+ ChannelAdapter as ChannelAdapter,
12
+ GuildAdapter as GuildAdapter,
13
+ RoleAdapter as RoleAdapter,
14
+ DiscordObjectAdapter as DiscordObjectAdapter,
15
+ )
16
+ from .functionadapter import (
17
+ FunctionAdapter as FunctionAdapter,
18
+ )
19
+ from .intadapter import (
20
+ IntAdapter as IntAdapter,
21
+ )
22
+ from .objectadapter import (
23
+ SafeObjectAdapter as SafeObjectAdapter,
24
+ )
25
+ from .redbotadapters import (
26
+ RedCommandAdapter as RedCommandAdapter,
27
+ RedBotAdapter as RedBotAdapter,
28
+ )
29
+ from .stringadapter import (
30
+ StringAdapter as StringAdapter,
31
+ )
32
+
33
+
34
+ __all__: Tuple[str, ...] = (
35
+ "SafeObjectAdapter",
36
+ "StringAdapter",
37
+ "IntAdapter",
38
+ "FunctionAdapter",
39
+ "AttributeAdapter",
40
+ "DiscordAttributeAdapter",
41
+ "UserAdapter",
42
+ "MemberAdapter",
43
+ "DMChannelAdapter",
44
+ "ChannelAdapter",
45
+ "GuildAdapter",
46
+ "RoleAdapter",
47
+ "DiscordObjectAdapter",
48
+ "RedCommandAdapter",
49
+ "RedBotAdapter",
50
+ )