jaseci 1.4.2.5__py3-none-any.whl → 2.0.0__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 jaseci might be problematic. Click here for more details.
- jaseci/__init__.py +3 -37
- jaseci-2.0.0.dist-info/METADATA +65 -0
- jaseci-2.0.0.dist-info/RECORD +4 -0
- {jaseci-1.4.2.5.dist-info → jaseci-2.0.0.dist-info}/WHEEL +1 -2
- jaseci/VERSION +0 -1
- jaseci/cli_tools/__init__.py +0 -0
- jaseci/cli_tools/book_tools.py +0 -457
- jaseci/cli_tools/jsctl.py +0 -500
- jaseci/cli_tools/tests/__init__.py +0 -0
- jaseci/cli_tools/tests/test_jsctl.py +0 -556
- jaseci/extens/__init__.py +0 -0
- jaseci/extens/act_lib/__init__.py +0 -0
- jaseci/extens/act_lib/date.py +0 -117
- jaseci/extens/act_lib/elastic.py +0 -87
- jaseci/extens/act_lib/file.py +0 -76
- jaseci/extens/act_lib/file_handler.py +0 -189
- jaseci/extens/act_lib/internal.py +0 -18
- jaseci/extens/act_lib/jaseci.py +0 -61
- jaseci/extens/act_lib/mail.py +0 -10
- jaseci/extens/act_lib/maths.py +0 -168
- jaseci/extens/act_lib/net.py +0 -191
- jaseci/extens/act_lib/rand.py +0 -82
- jaseci/extens/act_lib/regex.py +0 -85
- jaseci/extens/act_lib/request.py +0 -169
- jaseci/extens/act_lib/std.py +0 -235
- jaseci/extens/act_lib/storage.py +0 -53
- jaseci/extens/act_lib/stripe.py +0 -337
- jaseci/extens/act_lib/task.py +0 -13
- jaseci/extens/act_lib/tests/__init__.py +0 -0
- jaseci/extens/act_lib/tests/std_test_code.py +0 -37
- jaseci/extens/act_lib/tests/test_date.py +0 -26
- jaseci/extens/act_lib/tests/test_elastic.py +0 -159
- jaseci/extens/act_lib/tests/test_file.py +0 -116
- jaseci/extens/act_lib/tests/test_file_lib.py +0 -40
- jaseci/extens/act_lib/tests/test_mail_lib.py +0 -33
- jaseci/extens/act_lib/tests/test_maths.py +0 -147
- jaseci/extens/act_lib/tests/test_net_lib.py +0 -62
- jaseci/extens/act_lib/tests/test_regex.py +0 -61
- jaseci/extens/act_lib/tests/test_std.py +0 -51
- jaseci/extens/act_lib/tests/test_std_lib.py +0 -36
- jaseci/extens/act_lib/tests/test_url.py +0 -32
- jaseci/extens/act_lib/tests/test_vector.py +0 -36
- jaseci/extens/act_lib/tests/test_webtool.py +0 -44
- jaseci/extens/act_lib/tests/test_zlib.py +0 -24
- jaseci/extens/act_lib/url.py +0 -79
- jaseci/extens/act_lib/vector.py +0 -157
- jaseci/extens/act_lib/webtool.py +0 -28
- jaseci/extens/act_lib/zip.py +0 -33
- jaseci/extens/api/__init__.py +0 -0
- jaseci/extens/api/actions_api.py +0 -170
- jaseci/extens/api/alias_api.py +0 -139
- jaseci/extens/api/architype_api.py +0 -196
- jaseci/extens/api/config_api.py +0 -129
- jaseci/extens/api/global_api.py +0 -84
- jaseci/extens/api/graph_api.py +0 -167
- jaseci/extens/api/health_api.py +0 -20
- jaseci/extens/api/interface.py +0 -268
- jaseci/extens/api/jac_api.py +0 -171
- jaseci/extens/api/jsorc_api.py +0 -316
- jaseci/extens/api/logger_api.py +0 -89
- jaseci/extens/api/master_api.py +0 -133
- jaseci/extens/api/object_api.py +0 -101
- jaseci/extens/api/prometheus_api.py +0 -74
- jaseci/extens/api/queue_api.py +0 -140
- jaseci/extens/api/sentinel_api.py +0 -270
- jaseci/extens/api/super_api.py +0 -64
- jaseci/extens/api/tests/__init__.py +0 -0
- jaseci/extens/api/tests/test_architype_api.py +0 -66
- jaseci/extens/api/tests/test_global_api.py +0 -179
- jaseci/extens/api/tests/test_graph_api.py +0 -64
- jaseci/extens/api/tests/test_logger_api.py +0 -43
- jaseci/extens/api/tests/test_object_api.py +0 -20
- jaseci/extens/api/tests/test_sentinel_api.py +0 -66
- jaseci/extens/api/tests/test_uncommon.py +0 -107
- jaseci/extens/api/tests/test_user_api.py +0 -32
- jaseci/extens/api/tests/test_walker_api.py +0 -316
- jaseci/extens/api/user_api.py +0 -144
- jaseci/extens/api/walker_api.py +0 -298
- jaseci/extens/api/webhook_api.py +0 -74
- jaseci/extens/svc/__init__.py +0 -0
- jaseci/extens/svc/elastic_svc.py +0 -366
- jaseci/extens/svc/kube_svc.py +0 -432
- jaseci/extens/svc/mail_svc.py +0 -156
- jaseci/extens/svc/prome_svc.py +0 -378
- jaseci/extens/svc/redis_svc.py +0 -63
- jaseci/extens/svc/storage_svc.py +0 -193
- jaseci/extens/svc/stripe_svc.py +0 -51
- jaseci/extens/svc/task_svc.py +0 -155
- jaseci/extens/svc/tasks.py +0 -302
- jaseci/jac/__init__.py +0 -0
- jaseci/jac/interpreter/__init__.py +0 -0
- jaseci/jac/interpreter/architype_interp.py +0 -214
- jaseci/jac/interpreter/interp.py +0 -1783
- jaseci/jac/interpreter/sentinel_interp.py +0 -257
- jaseci/jac/interpreter/tests/__init__.py +0 -0
- jaseci/jac/interpreter/tests/test_interp.py +0 -42
- jaseci/jac/interpreter/walker_interp.py +0 -248
- jaseci/jac/ir/__init__.py +0 -0
- jaseci/jac/ir/ast.py +0 -73
- jaseci/jac/ir/ast_builder.py +0 -249
- jaseci/jac/ir/jac_code.py +0 -152
- jaseci/jac/ir/passes/__init__.py +0 -6
- jaseci/jac/ir/passes/ast_prune_pass.py +0 -9
- jaseci/jac/ir/passes/codegen_pass.py +0 -244
- jaseci/jac/ir/passes/ir_pass.py +0 -29
- jaseci/jac/ir/passes/printer_pass.py +0 -23
- jaseci/jac/ir/passes/pt_prune_pass.py +0 -29
- jaseci/jac/ir/passes/schedule.py +0 -23
- jaseci/jac/ir/passes/stats_pass.py +0 -16
- jaseci/jac/jac.g4 +0 -450
- jaseci/jac/jac_parse/__init__.py +0 -0
- jaseci/jac/jac_parse/jacLexer.py +0 -809
- jaseci/jac/jac_parse/jacListener.py +0 -853
- jaseci/jac/jac_parse/jacParser.py +0 -9192
- jaseci/jac/jac_set.py +0 -119
- jaseci/jac/jsci_vm/__init__.py +0 -0
- jaseci/jac/jsci_vm/disasm.py +0 -94
- jaseci/jac/jsci_vm/inst_ptr.py +0 -31
- jaseci/jac/jsci_vm/machine.py +0 -188
- jaseci/jac/jsci_vm/op_codes.py +0 -82
- jaseci/jac/jsci_vm/tests/__init__.py +0 -0
- jaseci/jac/jsci_vm/tests/test_codegen.py +0 -31
- jaseci/jac/machine/__init__.py +0 -0
- jaseci/jac/machine/jac_scope.py +0 -85
- jaseci/jac/machine/jac_value.py +0 -226
- jaseci/jac/machine/machine_state.py +0 -383
- jaseci/jac/tests/__init__.py +0 -0
- jaseci/jac/tests/book_code.py +0 -624
- jaseci/jac/tests/test_book.py +0 -380
- jaseci/jac/tests/test_lang_14.py +0 -49
- jaseci/jsorc/__init__.py +0 -7
- jaseci/jsorc/jsorc.py +0 -642
- jaseci/jsorc/jsorc_settings.py +0 -211
- jaseci/jsorc/jsorc_utils.py +0 -298
- jaseci/jsorc/live_actions.py +0 -364
- jaseci/jsorc/manifests/__init__.py +0 -0
- jaseci/jsorc/manifests/database.yaml +0 -109
- jaseci/jsorc/manifests/elastic.yaml +0 -6024
- jaseci/jsorc/manifests/prometheus.yaml +0 -1383
- jaseci/jsorc/manifests/redis.yaml +0 -64
- jaseci/jsorc/memory.py +0 -258
- jaseci/jsorc/redis.py +0 -139
- jaseci/jsorc/remote_actions.py +0 -157
- jaseci/jsorc/tests/__init__.py +0 -0
- jaseci/jsorc/tests/test_actions.py +0 -542
- jaseci/jsorc/tests/test_jsorc.py +0 -112
- jaseci/prim/__init__.py +0 -0
- jaseci/prim/ability.py +0 -93
- jaseci/prim/architype.py +0 -89
- jaseci/prim/edge.py +0 -172
- jaseci/prim/element.py +0 -233
- jaseci/prim/graph.py +0 -26
- jaseci/prim/master.py +0 -64
- jaseci/prim/node.py +0 -532
- jaseci/prim/obj_mixins.py +0 -235
- jaseci/prim/sentinel.py +0 -281
- jaseci/prim/super_master.py +0 -31
- jaseci/prim/walker.py +0 -261
- jaseci/svc/__init__.py +0 -0
- jaseci/tests/__init__.py +0 -0
- jaseci/tests/infer.py +0 -39
- jaseci/tests/jac_test_code.py +0 -1293
- jaseci/tests/jac_test_progs.py +0 -774
- jaseci/tests/test_core.py +0 -153
- jaseci/tests/test_jac.py +0 -824
- jaseci/tests/test_node.py +0 -89
- jaseci/tests/test_progs.py +0 -702
- jaseci/tests/test_stack.py +0 -220
- jaseci/tests/test_stripe.py +0 -225
- jaseci/utils/__init__.py +0 -0
- jaseci/utils/actions/__init__.py +0 -0
- jaseci/utils/actions/actions_manager.py +0 -254
- jaseci/utils/actions/actions_optimizer.py +0 -516
- jaseci/utils/actions/actions_state.py +0 -95
- jaseci/utils/file_handler.py +0 -171
- jaseci/utils/gprof2dot.py +0 -3786
- jaseci/utils/id_list.py +0 -168
- jaseci/utils/json_handler.py +0 -70
- jaseci/utils/log_utils.py +0 -57
- jaseci/utils/test_core.py +0 -62
- jaseci/utils/utils.py +0 -387
- jaseci-1.4.2.5.dist-info/LICENSE +0 -21
- jaseci-1.4.2.5.dist-info/METADATA +0 -39
- jaseci-1.4.2.5.dist-info/RECORD +0 -184
- jaseci-1.4.2.5.dist-info/entry_points.txt +0 -3
- jaseci-1.4.2.5.dist-info/top_level.txt +0 -1
jaseci/prim/walker.py
DELETED
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Walker class for Jaseci
|
|
3
|
-
|
|
4
|
-
Each walker has an id, name, timestamp and it's parent sentinel.
|
|
5
|
-
TODO: Perhaps I should have walker state (context ids) in mem only with
|
|
6
|
-
default hooks to save db read/writes
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
from jaseci.utils.utils import (
|
|
10
|
-
logger,
|
|
11
|
-
perf_test_start,
|
|
12
|
-
perf_test_stop,
|
|
13
|
-
exc_stack_as_str_list,
|
|
14
|
-
)
|
|
15
|
-
from jaseci.prim.element import Element
|
|
16
|
-
from jaseci.prim.obj_mixins import Anchored
|
|
17
|
-
from jaseci.utils.id_list import IdList
|
|
18
|
-
from jaseci.jac.machine.machine_state import TryException
|
|
19
|
-
from jaseci.jac.interpreter.walker_interp import WalkerInterp
|
|
20
|
-
import uuid
|
|
21
|
-
import hashlib
|
|
22
|
-
|
|
23
|
-
from jaseci.jsorc.jsorc import JsOrc
|
|
24
|
-
from jaseci.extens.svc.task_svc import TaskService
|
|
25
|
-
from jaseci.utils.utils import format_jac_profile
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
class Walker(Element, WalkerInterp, Anchored):
|
|
29
|
-
"""Walker class for Jaseci"""
|
|
30
|
-
|
|
31
|
-
def __init__(self, is_async=False, **kwargs):
|
|
32
|
-
self.yielded = False
|
|
33
|
-
self.namespaces = []
|
|
34
|
-
self.profile = {}
|
|
35
|
-
# Process state
|
|
36
|
-
self.current_node_id = None
|
|
37
|
-
self.next_node_ids = IdList(self)
|
|
38
|
-
self.destroy_node_ids = IdList(self)
|
|
39
|
-
self.current_step = 0
|
|
40
|
-
self.in_entry_exit = False
|
|
41
|
-
self.step_limit = 10000
|
|
42
|
-
self.is_async = is_async
|
|
43
|
-
self._to_await = False
|
|
44
|
-
if "persist" not in kwargs: # Default walker persistence to is_async
|
|
45
|
-
kwargs["persist"] = is_async
|
|
46
|
-
Element.__init__(self, **kwargs)
|
|
47
|
-
WalkerInterp.__init__(self)
|
|
48
|
-
Anchored.__init__(self)
|
|
49
|
-
|
|
50
|
-
@property
|
|
51
|
-
def current_node(self):
|
|
52
|
-
if not self.current_node_id:
|
|
53
|
-
return None
|
|
54
|
-
elif not self._h.has_obj(self.current_node_id):
|
|
55
|
-
self.current_node_id = None
|
|
56
|
-
return None
|
|
57
|
-
else:
|
|
58
|
-
return self._h.get_obj(self._m_id, self.current_node_id)
|
|
59
|
-
|
|
60
|
-
@current_node.setter
|
|
61
|
-
def current_node(self, obj):
|
|
62
|
-
if obj:
|
|
63
|
-
self.current_node_id = obj.jid
|
|
64
|
-
else:
|
|
65
|
-
self.current_node_id = None
|
|
66
|
-
|
|
67
|
-
def namespace_keys(self):
|
|
68
|
-
"""Return list of md5 keys for namespaces"""
|
|
69
|
-
ret = {}
|
|
70
|
-
for i in self.namespaces:
|
|
71
|
-
ret[i] = hashlib.md5((self._m_id + i).encode()).hexdigest()
|
|
72
|
-
return ret
|
|
73
|
-
|
|
74
|
-
def for_queue(self):
|
|
75
|
-
return self.is_async and not (self._to_await)
|
|
76
|
-
|
|
77
|
-
def step(self):
|
|
78
|
-
"""
|
|
79
|
-
Take single step through program
|
|
80
|
-
if no ast provided, will be generated from code
|
|
81
|
-
"""
|
|
82
|
-
if not self.next_node_ids:
|
|
83
|
-
logger.debug(str(f"Walker {self.name} is disengaged"))
|
|
84
|
-
return False
|
|
85
|
-
if self.current_step > self.step_limit:
|
|
86
|
-
logger.error(
|
|
87
|
-
str(
|
|
88
|
-
f"Walker {self.name} walked too many steps "
|
|
89
|
-
+ f"- {self.step_limit}"
|
|
90
|
-
)
|
|
91
|
-
)
|
|
92
|
-
return False
|
|
93
|
-
|
|
94
|
-
self.current_node = self.next_node_ids.pop_first_obj()
|
|
95
|
-
self.run_walker(jac_ast=self.get_architype().get_jac_ast())
|
|
96
|
-
if self.current_step < 200:
|
|
97
|
-
self.log_history("visited", self.current_node.id)
|
|
98
|
-
self.current_step += 1
|
|
99
|
-
self.profile["steps"] = self.current_step
|
|
100
|
-
if self._stopped == "skip":
|
|
101
|
-
self._stopped = None
|
|
102
|
-
if self.next_node_ids:
|
|
103
|
-
logger.debug(
|
|
104
|
-
str(
|
|
105
|
-
f"Step complete, Walker {self.name} next node: "
|
|
106
|
-
+ f"- {self.next_node_ids.first_obj()}"
|
|
107
|
-
)
|
|
108
|
-
)
|
|
109
|
-
return self.next_node_ids.first_obj()
|
|
110
|
-
else:
|
|
111
|
-
logger.debug(
|
|
112
|
-
str(
|
|
113
|
-
f"Final step of walker {self.name} complete"
|
|
114
|
-
+ f"- disengaging from {self.current_node}"
|
|
115
|
-
)
|
|
116
|
-
)
|
|
117
|
-
for i in self.destroy_node_ids.obj_list():
|
|
118
|
-
if i.jid == self.current_node_id:
|
|
119
|
-
self.current_node_id = None
|
|
120
|
-
i.destroy()
|
|
121
|
-
self.destroy_node_ids.remove_obj(i)
|
|
122
|
-
return True
|
|
123
|
-
|
|
124
|
-
def prime(self, start_node, prime_ctx=None, request_ctx=None):
|
|
125
|
-
"""Place walker on node and get ready to step step"""
|
|
126
|
-
if not self.yielded or not len(self.next_node_ids): # modus ponens
|
|
127
|
-
self.next_node_ids.add_obj(start_node, push_front=True)
|
|
128
|
-
if prime_ctx:
|
|
129
|
-
for i in prime_ctx.keys():
|
|
130
|
-
self.context[str(i)] = prime_ctx[i]
|
|
131
|
-
self.request_context = request_ctx
|
|
132
|
-
self.profile["steps"] = self.current_step
|
|
133
|
-
logger.debug(str(f"Walker {self.name} primed - {start_node}"))
|
|
134
|
-
|
|
135
|
-
def run(self, start_node=None, prime_ctx=None, request_ctx=None, profiling=False):
|
|
136
|
-
"""Executes Walker to completion"""
|
|
137
|
-
if self.for_queue() and JsOrc.svc("task").is_running():
|
|
138
|
-
start_node = (
|
|
139
|
-
start_node
|
|
140
|
-
if not (start_node is None)
|
|
141
|
-
else (
|
|
142
|
-
self.next_node_ids.pop_first_obj() if self.next_node_ids else None
|
|
143
|
-
)
|
|
144
|
-
)
|
|
145
|
-
|
|
146
|
-
self._h.commit_all_cache_sync()
|
|
147
|
-
|
|
148
|
-
return {
|
|
149
|
-
"is_queued": True,
|
|
150
|
-
"result": JsOrc.svc("task", TaskService).add_queue(
|
|
151
|
-
self,
|
|
152
|
-
start_node,
|
|
153
|
-
prime_ctx or self.context,
|
|
154
|
-
request_ctx or self.request_context,
|
|
155
|
-
profiling,
|
|
156
|
-
),
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
if profiling:
|
|
160
|
-
pr = perf_test_start()
|
|
161
|
-
|
|
162
|
-
if start_node and (not self.yielded or not len(self.next_node_ids)):
|
|
163
|
-
self.prime(start_node, prime_ctx, request_ctx)
|
|
164
|
-
elif prime_ctx:
|
|
165
|
-
for i in prime_ctx.keys():
|
|
166
|
-
self.context[str(i)] = prime_ctx[i]
|
|
167
|
-
|
|
168
|
-
report_ret = {"success": True}
|
|
169
|
-
WalkerInterp.reset(self)
|
|
170
|
-
self.yielded = False
|
|
171
|
-
|
|
172
|
-
try:
|
|
173
|
-
while self.step() and not self.yielded:
|
|
174
|
-
pass
|
|
175
|
-
except Exception:
|
|
176
|
-
report_ret["success"] = False
|
|
177
|
-
report_ret["stack_trace"] = exc_stack_as_str_list()
|
|
178
|
-
|
|
179
|
-
self.save()
|
|
180
|
-
|
|
181
|
-
if not self.report:
|
|
182
|
-
logger.debug(str(f"Walker {self.name} did not have anything to report"))
|
|
183
|
-
report_ret["report"] = self.report
|
|
184
|
-
report_ret["final_node"] = self.current_node_id
|
|
185
|
-
report_ret["yielded"] = self.yielded
|
|
186
|
-
|
|
187
|
-
if self.report_status:
|
|
188
|
-
report_ret["status_code"] = self.report_status
|
|
189
|
-
if self.report_custom:
|
|
190
|
-
report_ret["report_custom"] = self.report_custom
|
|
191
|
-
if self.report_file:
|
|
192
|
-
report_ret["report_file"] = self.report_file
|
|
193
|
-
|
|
194
|
-
if len(self.runtime_errors):
|
|
195
|
-
report_ret["errors"] = self.runtime_errors
|
|
196
|
-
report_ret["success"] = False
|
|
197
|
-
if len(self.runtime_stack_trace):
|
|
198
|
-
report_ret["stack_trace"] = (
|
|
199
|
-
report_ret.get("stack_trace", []) + self.runtime_stack_trace
|
|
200
|
-
)
|
|
201
|
-
if profiling:
|
|
202
|
-
self.profile["jac"] = format_jac_profile(self.get_master()._jac_profile)
|
|
203
|
-
calls, graph = perf_test_stop(pr)
|
|
204
|
-
self.profile["perf"] = calls
|
|
205
|
-
self.profile["graph"] = graph
|
|
206
|
-
report_ret["profile"] = self.profile
|
|
207
|
-
|
|
208
|
-
if self.for_queue():
|
|
209
|
-
return {"is_queued": False, "result": report_ret}
|
|
210
|
-
|
|
211
|
-
return report_ret
|
|
212
|
-
|
|
213
|
-
def yield_walk(self):
|
|
214
|
-
"""Instructs walker to yield (stop walking and keep state)"""
|
|
215
|
-
self.yielded = True
|
|
216
|
-
|
|
217
|
-
def log_history(self, name, value):
|
|
218
|
-
"""Helper function for logging history of walker's activities"""
|
|
219
|
-
if isinstance(value, Element):
|
|
220
|
-
value = {"type": value.j_type, "id": value.jid}
|
|
221
|
-
if isinstance(value, uuid.UUID):
|
|
222
|
-
value = value.urn
|
|
223
|
-
if name in self.profile.keys():
|
|
224
|
-
self.profile[name].append(value)
|
|
225
|
-
else:
|
|
226
|
-
self.profile[name] = [value]
|
|
227
|
-
|
|
228
|
-
def clear_state(self):
|
|
229
|
-
"""Clears walker state after report"""
|
|
230
|
-
self.yielded = False
|
|
231
|
-
self.profile = {}
|
|
232
|
-
self.current_step = 0
|
|
233
|
-
self.next_node_ids.remove_all()
|
|
234
|
-
self.ignore_node_ids.remove_all()
|
|
235
|
-
self.destroy_node_ids.remove_all()
|
|
236
|
-
self.current_node = None
|
|
237
|
-
self.context = {}
|
|
238
|
-
WalkerInterp.reset(self)
|
|
239
|
-
|
|
240
|
-
def destroy(self):
|
|
241
|
-
"""
|
|
242
|
-
Destroys self from memory and persistent storage
|
|
243
|
-
"""
|
|
244
|
-
if not self.for_queue() or not JsOrc.svc("task").is_running():
|
|
245
|
-
WalkerInterp.destroy(self)
|
|
246
|
-
super().destroy()
|
|
247
|
-
|
|
248
|
-
def register_yield_or_destroy(self, yield_ids):
|
|
249
|
-
"""Helper for auto destroying walkers"""
|
|
250
|
-
if not self.yielded:
|
|
251
|
-
if self.jid in yield_ids:
|
|
252
|
-
yield_ids.remove_obj(self)
|
|
253
|
-
self.destroy()
|
|
254
|
-
else:
|
|
255
|
-
yield_ids.add_obj(self, silent=True)
|
|
256
|
-
|
|
257
|
-
def save(self):
|
|
258
|
-
"""
|
|
259
|
-
Write self through hook to persistent storage
|
|
260
|
-
"""
|
|
261
|
-
self._h.save_obj(caller_id=self._m_id, item=self, all_caches=self.is_async)
|
jaseci/svc/__init__.py
DELETED
|
File without changes
|
jaseci/tests/__init__.py
DELETED
|
File without changes
|
jaseci/tests/infer.py
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
from jaseci.utils.utils import logger
|
|
2
|
-
import jaseci.extens.act_lib.date as jsdate
|
|
3
|
-
from jaseci.jsorc.live_actions import jaseci_action
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
@jaseci_action()
|
|
7
|
-
def year_from_date(date: str):
|
|
8
|
-
logger.warning("Deprecated! Use date.quantlize_...")
|
|
9
|
-
return jsdate.quantize_to_year(date)
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
@jaseci_action()
|
|
13
|
-
def month_from_date(date: str):
|
|
14
|
-
logger.warning("Deprecated! Use date.quantlize_...")
|
|
15
|
-
return jsdate.quantize_to_month(date)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
@jaseci_action()
|
|
19
|
-
def week_from_date(date: str):
|
|
20
|
-
logger.warning("Deprecated! Use date.quantlize_...")
|
|
21
|
-
return jsdate.quantize_to_week(date)
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
@jaseci_action()
|
|
25
|
-
def day_from_date(date: str):
|
|
26
|
-
logger.warning("Deprecated! Use date.quantlize_...")
|
|
27
|
-
return jsdate.quantize_to_day(date)
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
@jaseci_action()
|
|
31
|
-
def date_day_diff(start_date: str, end_date: str):
|
|
32
|
-
logger.warning("Deprecated! Use date...")
|
|
33
|
-
return jsdate.date_day_diff(start_date, end_date)
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
@jaseci_action()
|
|
37
|
-
def date_now():
|
|
38
|
-
logger.warning("Deprecated! Use date...")
|
|
39
|
-
return jsdate.date_now()
|