Added recursive action behavior to recursively go over selected messages
This commit is contained in:
Binary file not shown.
@@ -22,7 +22,7 @@ def executeRequest(action, outputs, resolved):
|
||||
# session.cookies.set(
|
||||
# sessioncookies[cookie_name] = response[cookie_key],
|
||||
|
||||
print(request)
|
||||
#print(request)
|
||||
#print(response.status_code)
|
||||
#print(response.text)
|
||||
return response, outputs
|
||||
|
||||
Binary file not shown.
@@ -3,10 +3,18 @@ from core.runtime.runtimecontract import buildRuntimeAttr, buildPreRuntimeAttr
|
||||
|
||||
|
||||
def buildAction (action, outputs):
|
||||
outputs, resolved = buildPreRuntimeAttr(action, outputs)
|
||||
#outputs, resolved = buildPreRuntimeAttr(action, outputs)
|
||||
|
||||
response, outputs = executeRequest(action, outputs, resolved)
|
||||
if hasattr(action, "recursive"):
|
||||
for item in outputs[action.recursive["source"]]:
|
||||
outputs[action.recursive["label"]] = item
|
||||
outputs, resolved = buildPreRuntimeAttr(action, outputs)
|
||||
response, outputs = executeRequest(action, outputs, resolved)
|
||||
outputs, response = buildRuntimeAttr(action, outputs, response)
|
||||
|
||||
outputs, response = buildRuntimeAttr(action, outputs, response)
|
||||
else:
|
||||
outputs, resolved = buildPreRuntimeAttr(action, outputs)
|
||||
response, outputs = executeRequest(action, outputs, resolved)
|
||||
outputs, response = buildRuntimeAttr(action, outputs, response)
|
||||
|
||||
return outputs, response
|
||||
|
||||
Binary file not shown.
@@ -2,7 +2,7 @@ import logging
|
||||
from core.runtime.managefailure import manageFailure
|
||||
from core.execution.action.action import buildAction
|
||||
from core.runtime.skipstep import skipStep
|
||||
from core.runtime.recursiveactions import recursiveAction
|
||||
from core.runtime.recursive import recursiveSet
|
||||
|
||||
def buildOperation(definition):
|
||||
actions = definition.actions
|
||||
@@ -15,7 +15,7 @@ def buildOperation(definition):
|
||||
continue
|
||||
|
||||
if action == "recursiveset":
|
||||
outputs = recursiveAction(definition, outputs)
|
||||
outputs = recursiveSet(definition, outputs)
|
||||
|
||||
else:
|
||||
outputs, response = buildAction(action, outputs)
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
from . import manager
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,25 +0,0 @@
|
||||
from datetime import datetime
|
||||
from core.operation.operation import buildOperation
|
||||
|
||||
def buildManager(definition):
|
||||
operations = definition.operations
|
||||
|
||||
current_time = datetime.now().time()
|
||||
|
||||
for operation in operations:
|
||||
if hasattr(operation, "role") and operation.role == "activate":
|
||||
if definition.uptime <= current_time <= definition.downtime:
|
||||
while True:
|
||||
current_time = datetime.now().time()
|
||||
outputs = buildOperation(operation)
|
||||
|
||||
if hasattr(operation, "role") and operation.role == "deactivate":
|
||||
if definition.downtime <= current_time <= definition.uptime:
|
||||
while True:
|
||||
current_time = datetime.now().time()
|
||||
outputs = buildOperation(operation)
|
||||
|
||||
# if hasattr(operation, "role") and role == offline:
|
||||
# outputs = buildOperation(operation)
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,20 @@
|
||||
from core.execution.action.action import buildAction
|
||||
|
||||
def recursiveSet(definition, outputs):
|
||||
recursiveset = definition.recursiveset["actions"]
|
||||
for item in outputs[definition.recursiveset["source"]]:
|
||||
outputs[definition.recursiveset["outputlabel"]] = item
|
||||
#outputs["recursive"] = item
|
||||
|
||||
for job in recursiveset:
|
||||
outputs, response = buildAction(job, outputs)
|
||||
|
||||
print(outputs["profile"])
|
||||
print(outputs["messages"])
|
||||
return outputs
|
||||
|
||||
from core.execution.action.action import buildAction
|
||||
|
||||
def recursiveAction(definition, outputs):
|
||||
recursiveset = definition.recursiveset["actions"]
|
||||
for item in outputs[definition.recursiveset["source"]]:
|
||||
@@ -12,4 +27,3 @@ def recursiveAction(definition, outputs):
|
||||
print(outputs["profile"])
|
||||
print(outputs["messages"])
|
||||
return outputs
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -6,8 +6,6 @@ kind = "action"
|
||||
|
||||
showstatus = True
|
||||
|
||||
astoken = os.environ["AS_TOKEN"]
|
||||
|
||||
resolve = {
|
||||
"sender": ["messages", 0, "senderId"],
|
||||
"space_id": ["space_id"],
|
||||
@@ -25,11 +23,6 @@ keys = [
|
||||
|
||||
method = "PUT"
|
||||
|
||||
#path = [
|
||||
# "https://loxthelion.com/_matrix/client/v3/profile/rmass_",
|
||||
# {"resolved": "sender"},
|
||||
# {"suffix": "/displayname"},
|
||||
#]
|
||||
path = [
|
||||
"https://loxthelion.com/_matrix/client/v3/rooms/",
|
||||
{"resolved": "space_id"},
|
||||
@@ -46,6 +39,3 @@ headers = {
|
||||
"Content-Type": "application/json",
|
||||
}
|
||||
|
||||
#outputs = {
|
||||
# "user_id": "user_id",
|
||||
#}
|
||||
|
||||
@@ -10,15 +10,9 @@ astoken = os.environ["AS_TOKEN"]
|
||||
|
||||
resolve = {
|
||||
"sender": ["messages", 0, "senderId"],
|
||||
#"messageid": ["message", "id"],
|
||||
"username": ["profile", "username"],
|
||||
#"location": ["profile", "location"],
|
||||
}
|
||||
keys = [
|
||||
#{
|
||||
# "keytitle": "type",
|
||||
# "keyvalue": "m.login.application_service",
|
||||
#},
|
||||
{
|
||||
"keytitle": "displayname",
|
||||
"keyvalue": {
|
||||
@@ -29,11 +23,6 @@ keys = [
|
||||
|
||||
method = "PUT"
|
||||
|
||||
#path = [
|
||||
# "https://loxthelion.com/_matrix/client/v3/profile/rmass_",
|
||||
# {"resolved": "sender"},
|
||||
# {"suffix": "/displayname"},
|
||||
#]
|
||||
path = [
|
||||
"https://loxthelion.com/_matrix/client/v3/profile/@rmass_",
|
||||
{"resolved": "sender"},
|
||||
@@ -50,6 +39,3 @@ headers = {
|
||||
"Content-Type": "application/json",
|
||||
}
|
||||
|
||||
#outputs = {
|
||||
# "user_id": "user_id",
|
||||
#}
|
||||
|
||||
@@ -6,14 +6,11 @@ kind = "action"
|
||||
|
||||
showstatus = True
|
||||
|
||||
astoken = os.environ["AS_TOKEN"]
|
||||
|
||||
resolve = {
|
||||
"sender": ["messages", 0, "senderId"],
|
||||
#"messageid": ["message", "id"],
|
||||
"username": ["profile", "username"],
|
||||
#"location": ["profile", "location"],
|
||||
}
|
||||
|
||||
keys = [
|
||||
{
|
||||
"keytitle": "name",
|
||||
|
||||
@@ -6,13 +6,17 @@ kind = "action"
|
||||
|
||||
showstatus = True
|
||||
|
||||
recursive = {
|
||||
"source": "messages",
|
||||
"label": "messageitem",
|
||||
}
|
||||
|
||||
resolve = {
|
||||
"sender": ["messages", 0, "senderId"],
|
||||
"message_id": ["messages", 0, "id"],
|
||||
#"username": ["profile", "username"],
|
||||
"message_body": ["messages", 0, "text"],
|
||||
"sender": ["messageitem", "senderId"],
|
||||
"message_id": ["messageitem", "id"],
|
||||
"message_body": ["messageitem", "text"],
|
||||
"room_id": ["dmroom_id"],
|
||||
#"location": ["profile", "location"],
|
||||
"timestamp": ["messageitem", "createdAt"],
|
||||
}
|
||||
keys = [
|
||||
{
|
||||
@@ -36,7 +40,9 @@ path = [
|
||||
{"resolved": "message_id"},
|
||||
"?user_id=@rmass_",
|
||||
{"resolved": "sender"},
|
||||
":loxthelion.com",
|
||||
":loxthelion.com&ts=",
|
||||
{"resolved": "timestamp"},
|
||||
"000"
|
||||
]
|
||||
|
||||
headers = {
|
||||
|
||||
@@ -6,13 +6,9 @@ kind = "action"
|
||||
|
||||
showstatus = True
|
||||
|
||||
astoken = os.environ["AS_TOKEN"]
|
||||
|
||||
resolve = {
|
||||
"sender": ["messages", 0, "senderId"],
|
||||
#"messageid": ["message", "id"],
|
||||
"username": ["profile", "username"],
|
||||
#"location": ["profile", "location"],
|
||||
}
|
||||
keys = [
|
||||
{
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
import os
|
||||
from datetime import datetime
|
||||
from . import setavailableoperation
|
||||
|
||||
operations = [
|
||||
setavailableoperation,
|
||||
#setunavailableoperation
|
||||
#setnotsetoperation
|
||||
]
|
||||
|
||||
uptime = datetime.strptime(
|
||||
os.environ["TIME_UPTIME"],
|
||||
"%H:%M"
|
||||
).time
|
||||
|
||||
downtime = datetime.strptime(
|
||||
os.environ["TIME_UPTIME"],
|
||||
"%H:%M"
|
||||
).time
|
||||
|
||||
offline = datetime.strptime(
|
||||
os.environ["TIME_OFFLINE"],
|
||||
"%H:%M"
|
||||
).time
|
||||
@@ -1,7 +0,0 @@
|
||||
from . import getcsrf, login, checkavailability
|
||||
|
||||
actions = [
|
||||
getcsrf,
|
||||
login,
|
||||
checkavailability,
|
||||
]
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJleHAiOjE3OTIwMTA1MDUsIm5iZiI6MTc5MjAxMDMyNSwic3ViIjoiMjM4MzAyIiwidXNlcm5hbWUiOiJYeHhvdGlxIiwidXNlclR5cGUiOjEsInN0YWdlTmFtZSI6Ilh4eG90aXEiLCJhcHByb3ZlZCI6MSwibG9jYXRpb25JZCI6NDcyLCJzZWFyY2hDaXR5IjoiYXRsYW50YSIsImNvdW50cnlTaG9ydCI6IlVTIiwic2Vzc2lvbkNvdW50cnlDb250aW5lbnQiOiJOQSIsImlzRnJvemVuIjowLCJsb2NhdGlvbkxhYmVsIjoiQXRsYW50YSwgR0EiLCJpc3MiOiJodHRwczovL3JlbnRtYXNzZXVyLmNvbSIsImlhdCI6MTc5MjAxMDM4NX0.oMvItXuv7d-HRO_MOChP4NfIJXSqJ7YjADFtoB5xA_GgfkL5fp6TSSPFpzMpKEhggDnlttZXQ_82-av-LXaW4A", "refresh_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJleHAiOjE3OTQ2MDIzODUsIm5iZiI6MTc5MjAxMDMyNSwianRpIjoiMGdHdnpEZFdjNjdUdlJDZU9GbC9yRkp5VGJ4WS9oUGo2Yk5pWDR0bzFXWT0iLCJpc3MiOiJodHRwczovL3JlbnRtYXNzZXVyLmNvbSIsImlhdCI6MTc5MjAxMDM4NSwic3ViIjoiMjM4MzAyIn0.N921TJnAA6G_Patf-4qtQMNKQlBHGoIu-A1lbTWTvJGZv2LFArCUjv9DW071iezjY2PuECgdoNVPiwsTHOOJTg"}
|
||||
{"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJleHAiOjE3OTIwMTYxNzYsIm5iZiI6MTc5MjAxNTk5Niwic3ViIjoiMjM4MzAyIiwidXNlcm5hbWUiOiJYeHhvdGlxIiwidXNlclR5cGUiOjEsInN0YWdlTmFtZSI6Ilh4eG90aXEiLCJhcHByb3ZlZCI6MSwibG9jYXRpb25JZCI6NDcyLCJzZWFyY2hDaXR5IjoiYXRsYW50YSIsImNvdW50cnlTaG9ydCI6IlVTIiwic2Vzc2lvbkNvdW50cnlDb250aW5lbnQiOiJOQSIsImlzRnJvemVuIjowLCJsb2NhdGlvbkxhYmVsIjoiQXRsYW50YSwgR0EiLCJpc3MiOiJodHRwczovL3JlbnRtYXNzZXVyLmNvbSIsImlhdCI6MTc5MjAxNjA1Nn0.x80ROCVbjmvc7D4FCbcFB7fWdvLL7Wm3TmBS8XN-lL-UyYGT1zGbmr_kDLpJ06I9-RtcKvkrX52cQKDHqfFplg", "refresh_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJleHAiOjE3OTQ2MDgwNTYsIm5iZiI6MTc5MjAxNTk5NiwianRpIjoiLy9xblJvU3Voc3F2ZVRXUENURkRoRlVjRjhCTCsvV2hYZzJLVFErblN0az0iLCJpc3MiOiJodHRwczovL3JlbnRtYXNzZXVyLmNvbSIsImlhdCI6MTc5MjAxNjA1Niwic3ViIjoiMjM4MzAyIn0.4nTN0v_hXVE2XwCIS5ZH6zGp1TE3F9aQbOEasiSFu-Nvc_1fT4MsrXL9nr1FGgo_5N6uSfbgYAOioa7fyzucJA"}
|
||||
Reference in New Issue
Block a user