From db26a7475452f1fd9cfcc8c54dd903695a245ba8 Mon Sep 17 00:00:00 2001 From: Lyncoln Date: Tue, 13 Oct 2026 11:13:13 -0400 Subject: [PATCH] Working resolver tool --- .../__pycache__/path.cpython-314.pyc | Bin 710 -> 642 bytes core/apirequest/path.py | 8 ++++--- .../__pycache__/operation.cpython-314.pyc | Bin 1243 -> 1681 bytes core/execution/operation/operation.py | 19 +++++++++++---- .../__pycache__/resolver.cpython-314.pyc | Bin 0 -> 519 bytes .../__pycache__/select.cpython-314.pyc | Bin 2896 -> 2897 bytes core/runtime/resolver.py | 22 ++++++++++++++++++ .../__pycache__/getmessage.cpython-314.pyc | Bin 746 -> 806 bytes plugins/rmass/actions/getmessage.py | 19 +++++++-------- tokens.json | 2 +- 10 files changed, 50 insertions(+), 20 deletions(-) create mode 100644 core/runtime/__pycache__/resolver.cpython-314.pyc create mode 100644 core/runtime/resolver.py diff --git a/core/apirequest/__pycache__/path.cpython-314.pyc b/core/apirequest/__pycache__/path.cpython-314.pyc index f96d797530cf15546498902b2ca58558ef43b713..922a4928d2cc8edb627b387a99bb1c50afae44a9 100644 GIT binary patch delta 267 zcmX@c+QiDM&Bx2d00beI&t^@T$m_`TieX}aEo0EcK5a&$iMtf!!kB}YbfiE^AOM+N zz%p5mQB~B7fgxO3hZm-TfuVrOJ7jVMqpTG3Ew0Ss%)H`~#JuFxTg=5JMYmW|GLuU* zStn0nRADb>1?o{#n|zefj*B12WCY^k9?fc*P`nURt43zIOT5Lhh$0qQ%a delta 323 zcmZo-J;utb&Bx2d00jKApv{2}9eIPD9y<%d;0=5-Q*Tl6aFyD}noy#?e^&>Nbgw6-H$%;&3 z-ogxmq94QN%h2E;D12E25QMd)kG5y#smWwZ_XAYV= z=x~17dis{B+IW*y0|>??bK9|S zJE}X;1!k$MZA}=GOxx~(g$GH4Ttg#Pjrf<#zN zXHtTI3z;CRS~B=awvd&w#RBP;Kk6uYc>g>$Vhe&+mt#-L~5I08n?TA&iFTU@(_ zp}nqiukIhw*F&&d{;q#l;;2frMp66HMS{bmRFJZHDo=Wow9-bjKYsw?*1#?e%ueTv snNkklBmsKV`a>L{+o2vIv=6qQaJ32kCWM+0ZB2I*#*YnN)YIbl2PG%QL;wH) delta 460 zcmbQpdz+I_n~#@^0SG4Koz0rdGLcV$F=3*5Bu@~BI710v5Ti1KCg;Q%DH6$yAVpBX z2BevR__G`1WMxK8#;(b}jQK1^3=A@pTbK;F1Q^^z7#IpzV>l-tWD*xP3u7*2l4k&6 zWd=?LIR=P$y;&Gj05{A?1Rcg^0<}w?!Mle6tRsvW=nm#v9L3q01;r()1-CehQj<%I ziZjbnZ?P5Umlh?bYO>v8PfRY!%+D*n#h#H^oLEv)RKy81wulErZ~%#0Y>5R0sd*`y z?6k0-J z6$~~=Tvf2TE@6E^!g>PB6BYdpY?oCWE($14V1FPkH-+ybCxfKT7cK@_jTLN{Wh^do zNOrK_;1ImdA#ssIVur*u4yBLM48l?$R2X=K8~i>4&1cZ$pIpVdNFNjw5C?;7Udd1- o2@((o61O;Pa`RJ4b5iY!6oFh&=oHIOPG^(l`obc?C=6Bz0A7b{1ONa4 diff --git a/core/execution/operation/operation.py b/core/execution/operation/operation.py index ba99a29..de8cc03 100644 --- a/core/execution/operation/operation.py +++ b/core/execution/operation/operation.py @@ -6,6 +6,7 @@ from core.runtime.outputs import buildOutput from core.runtime.managefailure import manageFailure from core.execution.action.action import buildAction from .skipstep import skipStep +from core.runtime.resolver import resolveItem def buildOperation(definition): actions = definition.actions @@ -20,15 +21,23 @@ def buildOperation(definition): continue if hasattr(action, "recursive"): + outputs[action.recursive["target"]] = {} for item in outputs[action.recursive["source"]]: + resolved = resolveItem(action, item) + print("Resolved value:", resolved) + #outputs[action.recursive["target"]] = outputs[action.recursive["source"]][][action.recursive["target"]] + #print(outputs[action.recursive["target"]]) + outputs[action.recursive["target"]] = item + print(outputs[action.recursive["target"]]) #target = outputs[action.recursive["source"]["target"] outputs, response = buildAction(action, outputs) - #print(outputs["message"]) - return outputs - outputs, response = buildAction(action, outputs) - responses.append(response) + #print(item) + #return outputs + else: + outputs, response = buildAction(action, outputs) + responses.append(response) #except Exception as error: #outputs = manageFailure(error, action, outputs) - #print(outputs["message"]) + print(outputs["message"]) return outputs diff --git a/core/runtime/__pycache__/resolver.cpython-314.pyc b/core/runtime/__pycache__/resolver.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6905c15f5a61326f024d53b376e985b921108bbd GIT binary patch literal 519 zcmZ`$&r1S96n?X-tLd6<7?zO)g0NKXu}gHzvOr_0^}Oj|mg_F#DtOzVgLR1xQOBF!ScU@BNthW^*wX0fx!J+vNxWd~oLn%%5Q@Gvk2{DR4nY zSx|+l;B(xF{+iyfg9jQof&nL-`2!uc(!U``{3i>|Wd%-=6Ep$|C`17qsbb8r!Q&Xf z0%V|~8)A+%Hw1n^8f=>9xJe_fN$S|W!o9YNXo%pp-RxpDL?yH8HtZG+G+b=auus$o ze+vn)jY{98ROH1W7Rlu{IA~tGuq~|B%x~exp0Z|8QqipaD-fm$5GEJU@UCUoI!(Ms;>?{*<{v&5 N5kjBBGD^;JzW|i3ZcP9H literal 0 HcmV?d00001 diff --git a/core/runtime/__pycache__/select.cpython-314.pyc b/core/runtime/__pycache__/select.cpython-314.pyc index 988ac4df777f30bdf64b70cc76e11aa148511f51..883c62c4437743cd1a7c1c0bd0d7d2b4dabe2e4e 100644 GIT binary patch delta 282 zcmca0c2SI1n~#@^0SMHlp3Snsz-~|)U xC(qRiZhG@rYfBoWR|xv&;(8-F>R2bEl`jt z0H^>RgmIZLLd4`5yaOiRVKJC&#W_{^7H?)=a!zSVYJ6^DNpi+5-qZ>tZV}Mc43j@` zP8Iqf#vm%$;Cn+vqQUpEfLI61{mC=A%-IAP1jRpiO}@qzBPR+}`hl5|k?|9g5Tn{B SEe%GEFENa^j2cCPKp6ngHaXz{ diff --git a/core/runtime/resolver.py b/core/runtime/resolver.py new file mode 100644 index 0000000..a5cf46a --- /dev/null +++ b/core/runtime/resolver.py @@ -0,0 +1,22 @@ +def resolveItem(action, item): + resolved = {} + label = action.resolve["label"] + targetkeys = action.resolve["targetkeys"] + + target = item + for key in targetkeys: + target = target[key] + + resolved[label] = target + + #for label, keys in action.resolve.items(): + #target = item + + #print(target) + #for key in keys: + #target = target[key] + + #resolved[label] = target + #print(resolved[label]) + + return resolved diff --git a/plugins/rmass/actions/__pycache__/getmessage.cpython-314.pyc b/plugins/rmass/actions/__pycache__/getmessage.cpython-314.pyc index 2f69930343f91d95afe08b8d6ea85d28bfe4898f..17eda7e2591d0f4b3e72fcb5492f7063cb02173c 100644 GIT binary patch delta 316 zcmWlS%}T>S6oosJnM|6rG1aQ|7p1jDgaoV$LAO#@BA4Pm>QJMpm1IzKW0!7(lz9hV zz=d1Ey=$3Ox4OzBIJt1)yXSDv`J->9yW>{vk{<8)`&t^$;s`_?e2D|_VNHD0uEX)QLPVq6W?vb-qrS35m<+hM;g6}p(WRnsc+O)*?m}@j z`P!wVaHNU$O+E~xIF*O!6gl!0ZB<#q(@}iS6HB+q50uz#4M=bLDZ9Ai*Rs8={X?9W rvz!_Z9<#hsqW;wKvewjcGm>6eqd#0W&6O&#=+FU@