From 56ae0ace338e796620c96fd770729d9e08792566 Mon Sep 17 00:00:00 2001 From: Lyncoln Date: Wed, 14 Oct 2026 15:37:12 -0400 Subject: [PATCH] Matrix bridge working and effectively pushing messages --- ET4 | 0 .../__pycache__/execute.cpython-314.pyc | Bin 755 -> 793 bytes .../__pycache__/key.cpython-314.pyc | Bin 502 -> 715 bytes .../__pycache__/object.cpython-314.pyc | Bin 460 -> 460 bytes .../__pycache__/path.cpython-314.pyc | Bin 980 -> 1819 bytes .../__pycache__/request.cpython-314.pyc | Bin 1231 -> 1413 bytes core/apirequest/execute.py | 4 +- core/apirequest/key.py | 11 ++- core/apirequest/object.py | 2 +- core/apirequest/path.py | 36 +++++++-- core/apirequest/request.py | 4 + .../__pycache__/operation.cpython-314.pyc | Bin 934 -> 934 bytes core/execution/operation/operation.py | 2 +- core/execution/operation/skipstep.py | 20 ----- core/runtime/__pycache__/logs.cpython-314.pyc | Bin 1050 -> 1226 bytes .../__pycache__/outputs.cpython-314.pyc | Bin 923 -> 923 bytes .../recursiveactions.cpython-314.pyc | Bin 1203 -> 834 bytes .../__pycache__/resolver.cpython-314.pyc | Bin 1343 -> 564 bytes .../__pycache__/select.cpython-314.pyc | Bin 1365 -> 1315 bytes core/runtime/logs.py | 3 +- core/runtime/outputs.py | 2 +- core/runtime/recursiveactions.py | 18 ----- core/runtime/resolver.py | 66 +-------------- core/runtime/select.py | 4 +- .../__pycache__/getmessage.cpython-314.pyc | Bin 756 -> 734 bytes .../pullmessagelist.cpython-314.pyc | Bin 629 -> 596 bytes .../synapseassignusername.cpython-314.pyc | Bin 0 -> 895 bytes .../synapsecreatedmroom.cpython-314.pyc | Bin 0 -> 1156 bytes .../synapsegetroomid.cpython-314.pyc | Bin 0 -> 685 bytes .../__pycache__/synapsepush.cpython-314.pyc | Bin 0 -> 920 bytes .../synapsepushmessages.cpython-314.pyc | Bin 0 -> 936 bytes .../synapseregister.cpython-314.pyc | Bin 0 -> 924 bytes plugins/rmass/actions/getmessage.py | 8 +- plugins/rmass/actions/pullmessagelist.py | 41 ---------- .../rmass/actions/synapseassignusername.py | 55 +++++++++++++ plugins/rmass/actions/synapsecreatedmroom.py | 76 ++++++++++++++++++ plugins/rmass/actions/synapsegetroomid.py | 38 +++++++++ plugins/rmass/actions/synapsepush.py | 52 ------------ plugins/rmass/actions/synapsepushmessages.py | 54 +++++++++++++ plugins/rmass/actions/synapseregister.py | 49 +++++++++++ .../pullmessagelist.cpython-314.pyc | Bin 512 -> 694 bytes plugins/rmass/operations/pullmessagelist.py | 6 +- pullmessagelist (Copy).py | 28 ------- pullmessagelist.py | 5 +- tokens.json | 2 +- 45 files changed, 334 insertions(+), 252 deletions(-) delete mode 100644 ET4 delete mode 100644 core/execution/operation/skipstep.py create mode 100644 plugins/rmass/actions/__pycache__/synapseassignusername.cpython-314.pyc create mode 100644 plugins/rmass/actions/__pycache__/synapsecreatedmroom.cpython-314.pyc create mode 100644 plugins/rmass/actions/__pycache__/synapsegetroomid.cpython-314.pyc create mode 100644 plugins/rmass/actions/__pycache__/synapsepush.cpython-314.pyc create mode 100644 plugins/rmass/actions/__pycache__/synapsepushmessages.cpython-314.pyc create mode 100644 plugins/rmass/actions/__pycache__/synapseregister.cpython-314.pyc create mode 100644 plugins/rmass/actions/synapseassignusername.py create mode 100644 plugins/rmass/actions/synapsecreatedmroom.py create mode 100644 plugins/rmass/actions/synapsegetroomid.py delete mode 100644 plugins/rmass/actions/synapsepush.py create mode 100644 plugins/rmass/actions/synapsepushmessages.py create mode 100644 plugins/rmass/actions/synapseregister.py delete mode 100644 pullmessagelist (Copy).py diff --git a/ET4 b/ET4 deleted file mode 100644 index e69de29..0000000 diff --git a/core/apirequest/__pycache__/execute.cpython-314.pyc b/core/apirequest/__pycache__/execute.cpython-314.pyc index 8ce0bd0324437852abc3fed69cbfc4caf9f79e18..1bb37566f6102400c30c3132807e5e831ece3495 100644 GIT binary patch delta 166 zcmey&I+Kl8n~#@^0SLD2J)gC0B5yC_k%_Zci^Xt)#6Td7*@O|ol4qFg#%Qn1TEq$AnBD1MWR5eNEk@m;;_lhPbtkwwJVaGe1u7zLzGb#EDHeOMk$~G delta 104 zcmbQq_L-Gen~#@^0SIo#oXg6b$lJ@fZsP3KlVcd|8CfRJVU(G?pRtll7%0yU#KmEg xotXTXJ}69{&15VC5?#qqBm$(0gn+~?4x8Nkl+v73yCR9nub9+1gc)VQvH-ZE8Uz3U diff --git a/core/apirequest/__pycache__/key.cpython-314.pyc b/core/apirequest/__pycache__/key.cpython-314.pyc index e234161c59e7008bb4274e8505fdf9d536e6d5cd..2127da9a20ee3f2950ab0fe704b46c6a0a55912c 100644 GIT binary patch delta 495 zcmeyye43R{n~#@^0SL~`KA$y{aU!1s6A$CW09*bT1_l|1AjU9eOQ2+m;KVsf^}b?3 zOi;c6NH$zKh)G8Zq!|K`*#*o&%wY^c49H?&lN3QZ(Pe^|k=4bp!b}WfHerOC&A?C( z6J;m>8O?&MC5&00QJF!L^%h5VYGqksPHE~bw*1nPg3^*(97UGD~t&HJNX5Wfo`V6_+IDC8yqENy$tuxy4*uQl!apiy3IpEp~_*#YG?&O;%v^ ztmg+ZKu#*I1QHDlH+c9baP|5(xISSQoS-^KG1vd9 zh)$>L177hNrdN0sZivV%u(~R%cU45c!}S4BVet&Bsr6U5)ozH0&)}Nszrf?Fi0&5V z4X&HHu8LT7xPD+`;N>gAsy`hl5g@_I%AbC4TWG86&hfT4&FNZjJE$<0qG%}KQ@ Y5(09;&I85i2WCb_#xG3#jBH@F0DEq6KmY&$ delta 230 zcmX@j`i+@Sn~#@^0SK64&ShO=n8@eA)Wk3`z?NT}fkB2Lh%t=W5-6D>FmaBOL>NO5 zla3TfF$9D$>oY1dXfjVuU=%USPOU7-EXhgLWV*$bS)7?yT#}fVoO+8TB{R81ljRmO zQ2rKserZWTX-V-dj-u4!{G77Xl*xM-J-K*+#xVkMvBPA3CTZaX7As1xD4X065TB7T zm;b7OMhENUGA225kg}BwMSMW2hzCgA;;_lhPbtkwwJQ<;a=|8myz+sWk&*EW69*$3 GSSQ}My2)8_0s&g9A*v{*T>N#&;nX*}m)E zIV~Wnyi~OiMUE(vD^iJGW!50>Z$FoX}#*|RUTlK_I1Jl>t1*`3?@ z?d+*g&+691Gh1~&RzmLn;^q6us~)|GO`DyM`ovBmMgNZ1OD^)qvO2* zdQ%^R&4CEn>i`CqcUOcQm-o0{^S$2jo>;9>dTB#dY(cMDM%B8O{H|hF4MQiEsz^q`T9b-;+0ZL$#X2XUk54nT zifI)pMb+jMt!UZ4T%lA|FA$;=n>8)+K(IOLXnVU$nuNnxZ2`BcmMl6)ESuk;P9|m; zW@ct2NwPo6tm$PnqZBqYB}2;PLZxs;C7Gg5)J(z9i26O+TN%3Y$HrBA_;OV%DVK0W zFd;yX%fzq46t{xm&FphAR^xX4qjhEbt7rby6Mw1|9&3F2G@NQBr2Fg5)F;iv+!o)8 zP-O&_llNEt3^fy(E&kuQv@`X^L+1EN3T%(MCZ3-&r7SA?EN?2w0WG@6S;%kzU!_hHYvK9jKU zOFzPdM$+TUtgfzVKQ7I3gi=L@sh~H<<_)4%tXVJdQ&oTpdU%9hArhh@Oa+DtCUxin zDG@w5uzmZSogr~l;1PiNJBm%%^+xLHZT6Wr`NW%Sg-2@s_M6e`2r!m%;j8l$6w`H~6&`KGZvE6%uHHM<6sNa@wiv$~ zstdbA!P@HW;EUrF!V?aJB#O};4dEjv?)Qf9{5wE6;Uu0Jtda(gRqCzqEPM)Z5Qc>> z`_k^|rk$p9mOYSdLZ6Smx^gg!bA&z~8EUkQ;vKTsj(yO`-u=3Ep%Z}M$Y4GAb!o5= zI5}9t;Am}fxN)|90M0}=rlHTvx>7Bv=LvmBoB~D>?63^Oy!41n^ksUSiM~2J!bBaf F{{V>fN0I;l delta 249 zcmbQucZHo#n~#@^0SNdw&SxpHOyrZ05CZZV7=jqY8A=#}7=a{X5R)>4Ci7$u)^>k~~9oa@JKI zg)X-TJVL#GU2Y#G83aW?$V}eJq%b*-^%#2*Gtkr`w#jyEs;nYFrugIxwlof=B0-R_ m$mH8>Qi@_gCL<6R^8<+w%#4hTpO{1#g}&$rGYS=fds54PrRv?Zch}n~+ge8bYoS}p@h(i3OO zFTTa$7#tts@9pY$i>;t2H7&D3lV|cGCI`ME9-!)5?5TNWnML_|lOHiH<(2`8umW*0 zGvnk*%<~oQ@Jr56T_SRwU+ogV+6t2mHdnOmpGZi}=bFj2!0M`m-ei3iy-G<2Ef>ZQ zG7NI66F4t&NIl>dy1*@cfkpZ=&>#j)wjxd-Rm2P;*g*sfhyYn#1hQ=g|z0h6kD8Uq6-gB(M6 zNDzw}P&VArm`RyIlYR0XCOuBJf}+&4%nD7e$%@Pllk=IEa!Uf0umExKLx#!nEb}Kn zV9_ZOX3%nB{2<04r#gZ2B8SuiZlMd@(id2yKLgb<_-V2haRTWgki&}DK?F#D5y+sG y3`J5Pwgiy4#bJ}1pHiBWYF8u!g?xz|6?Vc$Y!`E`#(J7HLKqunqui(Kt>3 diff --git a/core/apirequest/execute.py b/core/apirequest/execute.py index 539b024..90fb841 100644 --- a/core/apirequest/execute.py +++ b/core/apirequest/execute.py @@ -22,5 +22,7 @@ def executeRequest(action, outputs, resolved): # session.cookies.set( # sessioncookies[cookie_name] = response[cookie_key], - + print(request) + #print(response.status_code) + #print(response.text) return response, outputs diff --git a/core/apirequest/key.py b/core/apirequest/key.py index 0f87297..cb150ab 100644 --- a/core/apirequest/key.py +++ b/core/apirequest/key.py @@ -1,8 +1,15 @@ def buildKey(key, outputs, resolved): value = key["keyvalue"] - if isinstance(value, dict) and "output" in value: - value = outputs[value["output"]] + if isinstance(value, dict): + if "output" in value: + value = outputs[value["output"]] + + elif "resolved" in value: + value = resolved[value["resolved"]] + + if "prefix" in key["keyvalue"]: + value = key["keyvalue"]["prefix"] + str(value) return { key["keytitle"]: value, diff --git a/core/apirequest/object.py b/core/apirequest/object.py index ff5596a..ce8b38d 100644 --- a/core/apirequest/object.py +++ b/core/apirequest/object.py @@ -7,5 +7,5 @@ def buildObject(keys, outputs, resolved): object.update( buildKey(key, outputs, resolved), ) - + return object diff --git a/core/apirequest/path.py b/core/apirequest/path.py index 1dad092..ca7fc19 100644 --- a/core/apirequest/path.py +++ b/core/apirequest/path.py @@ -1,4 +1,22 @@ def buildPath(path, outputs, resolved): + result = "" + + for part in path: + if isinstance(part, dict): + if "resolved" in part: + value = resolved[part["resolved"]] + elif "output" in part: + value = outputs[part["output"]] + else: + raise ValueError(f"Unsupported path component: {part}") + + result += str(value) + else: + result += str(part) + + return result + +def buildPath3(path, outputs, resolved): if isinstance(path, str): return path @@ -6,18 +24,24 @@ def buildPath(path, outputs, resolved): for part in path: if isinstance(part, dict): + if "resolved" in part: #for key, val in part.items(): #value = outputs[part["output"]][part["keys"]] - value = resolved["path"] + value = resolved[part["resolved"]] #print("DEBUG path", value) - + #for key in part.get("keys", []): #value = value[key] + if "suffix" in part: + suffix = part["suffix"] - result += str(value) - else: - result += part - #print(result) + if value != None: + result += str(value) + if suffix != None: + result += str(suffix) + else: + result += part + print(result) return result def buildPath2(path, outputs, resolved): diff --git a/core/apirequest/request.py b/core/apirequest/request.py index 02ac94f..eaaa6e4 100644 --- a/core/apirequest/request.py +++ b/core/apirequest/request.py @@ -1,5 +1,6 @@ from .object import buildObject from .path import buildPath +import os def buildRequest(definition, outputs, resolved): path = buildPath(definition.path, outputs, resolved) @@ -20,6 +21,9 @@ def buildRequest(definition, outputs, resolved): if isinstance(value, dict) and "output" in header_value: value = outputs[value["output"]] + if isinstance(value, dict) and "os" in header_value: + #value = os.environ[definition.headers[header_name]["os"]] + value = os.environ["AS_TOKEN"] if isinstance(header_value, dict) and "prefix" in header_value: value = header_value["prefix"] + value diff --git a/core/execution/operation/__pycache__/operation.cpython-314.pyc b/core/execution/operation/__pycache__/operation.cpython-314.pyc index 431281a4ab99525d015ffeb58174db87b3597fc5..d5c874aaf0a5f66ab51f8d0f56089a776b126e37 100644 GIT binary patch delta 23 dcmZ3+zKoqun~#@^0SMx!oX=us-pDtD82~!V1xWw^ delta 23 dcmZ3+zKoqun~#@^0SI{c&u4vM+Q>J982~tQ1zrFE diff --git a/core/execution/operation/operation.py b/core/execution/operation/operation.py index 5f27d31..fed0a94 100644 --- a/core/execution/operation/operation.py +++ b/core/execution/operation/operation.py @@ -23,5 +23,5 @@ def buildOperation(definition): #except Exception as error: #outputs = manageFailure(error, action, outputs) - + #print(outputs) return outputs diff --git a/core/execution/operation/skipstep.py b/core/execution/operation/skipstep.py deleted file mode 100644 index ce205d2..0000000 --- a/core/execution/operation/skipstep.py +++ /dev/null @@ -1,20 +0,0 @@ -def skipStep(definition, action, outputs): - try: - if action in definition.skipstep: - condition = definition.skipstep[action] - - #if outputs.get([condition["output"]]) is None: - #return False - #current_value = 1 - #else: - current_value = outputs[condition["output"]] - #current_value = 1 - - if condition["operator"] == ">=": - if current_value >= condition["value"]: - print(f"Skipping {action.name}") - return True - - except KeyError: - #outputs = manageFailure(error) - return False diff --git a/core/runtime/__pycache__/logs.cpython-314.pyc b/core/runtime/__pycache__/logs.cpython-314.pyc index afb5407ec93f9664c719695268807ca7af9a2a0b..f8ee91a6eac36870a4eed1fe962e863acf67de0e 100644 GIT binary patch delta 375 zcmbQmaf*{yn~#@^0SM0RKc6*mBCkIa7t_W#env+2$$5;jjFFRj7!?^kCa+`Em^^_| zOpb@ah}nb@q@IC6o*{-E!eU?uVhv*o5T3X|N-l^^M+zp&zyMUwgis&EKKTiwBIj0X zW?64zq_WTt7Yt zGjOU+k(gt7SwQtyF*nfIDVEMg42O;QT$q?OnQpP?bY+cFl8Avh|i2{jR p95%W6DWy57c10lXgMvuBm={QXU}j`wyv@M(g++*wyGRl!0syCSU0whH delta 265 zcmX@bIg5i=n~#@^0SG>SKbK`Rk=LJT4dcc*env*t$$5;jj9Qa>7!?^MC$D4FurOjW zVFamUV321BVpV2P0MaoW5D^B37_ccIo-va=gDitjn>Dj6Lnfmp+vFT3DQ46NKA*eCO`sO8THzrd$@g+uKj3)hbi zf()E$QzYhCUKUXORm=@kKgH6Snc*-qpR+KtCetnUoc#3k%)Im>kZ~&+J_AXHB4HqL pi^C>2KczG$)viba$OXB*m={QVU}j`wyv@M(g+-8&yGR@;0stX1H|GEV diff --git a/core/runtime/__pycache__/outputs.cpython-314.pyc b/core/runtime/__pycache__/outputs.cpython-314.pyc index d64e4386b76b562665bd2c49c40c722d9776376c..f64d61976050c73e7d76fd2bbb84d8fbea46cddd 100644 GIT binary patch delta 22 ccmbQuKAW9an~#@^0SKbR&u3lQ$lJ#Z05rP=Z2$lO delta 22 ccmbQuKAW9an~#@^0SIcIp38c)k++W-06eA!YybcN diff --git a/core/runtime/__pycache__/recursiveactions.cpython-314.pyc b/core/runtime/__pycache__/recursiveactions.cpython-314.pyc index 3322afc239583a4ad009e81c3b739f9ecbecdc3e..1f6f99a7c2d9208ead0e6b30c437d91f7806c23d 100644 GIT binary patch delta 142 zcmdnYd5Dcqn~#@^0SI=ApU-;3IFV06P6EhlV2EP~V)SJ2U@T#jX9!{vXDDF`Vpe9* zWZCFd$i&Dtc@LAcupon=^#>sa9^nSR&mbfGG?^!RvuK#DWGE5_a*G6k#4Qe+-29Z% goK(9aF(8)_h>LlF#0O?ZM#j4gCSO>%8HK^h0sJi+&j0`b delta 494 zcmX|7&r1SP5T3WL+Zwq%Tgg{htyZQP1?eFuq9CGQbTH6M1hOrnSk`m3Zh4eWN!Jb? z>lpn9{R1Usg4F-8{Wx@N)}(>?=FOX#Z@%{)qnCf3K8es%CWE^gG;GqF0u_pdyxZgvKy0JLkYaf!4DNY^OhHS z)XMgkO|J_!cFc*jiF18>gt+UOSCq xFMkB@QhW6+J{SA`B+3g1h5b_ASmc9vN6?GC2$q8o@(%G&v4^PNeoEB#%rC(+Z3F-S diff --git a/core/runtime/__pycache__/resolver.cpython-314.pyc b/core/runtime/__pycache__/resolver.cpython-314.pyc index 176edca46bb92b2f994e76bea54b783972a168b2..835627ac41cd758ec4fe82f7db61583108407709 100644 GIT binary patch delta 209 zcmdnbwS|RGn~#@^0SK0fpU;wGoX963!~^6tFa$A(Gn6m{F)A}?GEH>Z!>Bo#kx`6? z87Oy)HM1l&w^(zsGGnbRA5ef1h>L^4x^D0bHhA1&=j$k&Pb%7 literal 1343 zcmb_cOHUI~6h8Cl43B|!pgh|Yp%HBqCXyyDG%QFUYE3bXwi`BMJAq0clRHxkyKz@^ zVKpJ@!f4#_KinHlfM&viguN-$AK(+rR)<}BM z*U(R;a0eiYo=5&F9Tz+bc!qCDdUgm_q5#h^izFX&W*{r#Nk4!o<+3*?&lAi*Y5<@Y zVvx&Zg;{i@Vx4`KkHa44%EYj$r7a^NxblW>>9$P>{R%fww2iX0C%clKw~N(^E7AkE z$BQqxfs+2zD7oUMv2D4Mt&?@bb_KeVF@JXU3Ke%=+o+Zet)Ooe3mPex^@_f35G`LN zhDK@?yNFJ&B$+q2-F|O#A74g7SctaI%As3WKcP$B~t~Q>$T0IRybfFanCG4!W zu{7ib3`4;ASw?H1_ue!XvNp!1u}w1bYQF{R1O>~L$A|2>G!wymAJFq zRL9=M-o!pD`|6zY;CMiFR!)Kwbpg+JBQI%JLzAr-j7ICrFVe^TLr$8gSmpvJ=oGVd zeq}HC3r;+|G$-aR$B8vMu}pGtKVV6ZyHk+T&RNsxzewnZF|H8&bs%9(Qmoj7mhv;8 z({t6=^CdmMSu+X!tx!5!I;#IR+&imBirToos~spar|S8bGhEUMfpLm~&MvSA%+a}I l&)sshP%9aWgboBFUKov*z;WCeKgNa67RI^ZUrDrB)^BCu_y+(0 diff --git a/core/runtime/__pycache__/select.cpython-314.pyc b/core/runtime/__pycache__/select.cpython-314.pyc index 4d60694bd5755e370efcc848edc16cbe89c517f1..dee57073506b2779cb0eff7f1a7b131d81640a4f 100644 GIT binary patch delta 142 zcmcc0wU~=nn~#@^0SNTO&u0}(uNum>e5J3OfUX41+vF5W5~@0h26) zk5nduHM1;3CZi_DB<^%JMNXFf=ec5E5zde!|Yz zQ8uCCI=jLpc7+d2Qk>e8A28pL|H8^3C^<*-0>8=^21ZWp8`7E=q_n!cKQIG1zlv2R WA7_!}6md~zKBC0vqCELIiwywk^)0&q diff --git a/core/runtime/logs.py b/core/runtime/logs.py index 2a91521..81e593e 100644 --- a/core/runtime/logs.py +++ b/core/runtime/logs.py @@ -15,6 +15,7 @@ def buildLog (action, outputs, response): print(f"{action.name} successful") elif action.showstatus is True and response.status_code != 200: - print(f"{action.name} failed") + print(f"{action.name} failed with status code {response.status_code}") + print(f"Response: {response.json()["error"]}") return diff --git a/core/runtime/outputs.py b/core/runtime/outputs.py index d927de7..01ffe66 100644 --- a/core/runtime/outputs.py +++ b/core/runtime/outputs.py @@ -1,4 +1,4 @@ -def buildOutput(response, action, outputs):#, select_data): +def buildOutput(response, action, outputs): #if select_data != "not applied": #response_data = select_data #else: diff --git a/core/runtime/recursiveactions.py b/core/runtime/recursiveactions.py index 7d47cc8..7b8a7b5 100644 --- a/core/runtime/recursiveactions.py +++ b/core/runtime/recursiveactions.py @@ -8,26 +8,8 @@ def recursiveAction(definition, outputs): for job in recursiveset: outputs, response = buildAction(job, outputs) - #outputs[action.recursive["target"]] = item print(outputs["profile"]) print(outputs["messages"]) return outputs -def recursiveActionStale(action, outputs): - #if hasattr(action, "recursive"): - #outputs[action.recursive["target"]] = {} - for item in outputs[action.recursive["source"]]: - #resolved = resolveItem(action, item)#, outputs)#, resolved) - #print("DEBUG Resolved value:", resolved) - #outputs[action.recursive["target"]] = outputs[action.recursive["source"]][][action.recursive["target"]] - #print(outputs[action.recursive["target"]]) - - #Target may be phased out here. its not quite necessary after resolve - outputs[action.recursive["target"]] = item - - #print(outputs[action.recursive["target"]]) - #target = outputs[action.recursive["source"]["target"] - outputs, response = buildAction(action, outputs)#, resolved) - #print(outputs) - return outputs diff --git a/core/runtime/resolver.py b/core/runtime/resolver.py index 7798198..9f23721 100644 --- a/core/runtime/resolver.py +++ b/core/runtime/resolver.py @@ -1,75 +1,11 @@ def resolveItem(action, item): resolved = {} if hasattr(action, "resolve"): - #label = action.resolve["label"] - #targetkeys = action.resolve["targetkeys"] - #print(item) - #target = item - - #for key in targetkeys: - # target = target[key] - - #resolved[label] = target - for label, keys in action.resolve.items(): target = item - #print(item) - #print(target) + for key in keys: target = target[key] resolved[label] = target - #print(resolved[label]) - - return resolved - -def resolveItem2(action, item, outputs): - #resolved = {} - label = action.resolve["label"] - targetkeys = action.resolve["targetkeys"] - #print(item) - 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]) - - outputs[label] = target - #print("Resolver DEBUG", target, outputs[label]) - return outputs - -def resolveItemBackup(action, item): - resolved = {} - if hasattr(action, "resolve"): - #label = action.resolve["label"] - #targetkeys = action.resolve["targetkeys"] - #print(item) - #target = item - - #for key in targetkeys: - # target = target[key] - - #resolved[label] = target - - for label, keys in action.resolve.items(): - target = item - #print(item) - #print(target) - for key in keys: - target = target[key] - - resolved[label] = target - print(resolved[label]) - return resolved diff --git a/core/runtime/select.py b/core/runtime/select.py index 1913619..1132efa 100644 --- a/core/runtime/select.py +++ b/core/runtime/select.py @@ -28,7 +28,7 @@ def buildSelect(action, outputs): #print(select_data) return select_data, action, outputs - except (KeyError, TypeError): - select_data = ["no selection"] + except: (KeyError, TypeError) + #select_data = ["no selection"] return select_data, action, outputs diff --git a/plugins/rmass/actions/__pycache__/getmessage.cpython-314.pyc b/plugins/rmass/actions/__pycache__/getmessage.cpython-314.pyc index 2bc694852e8756497b9d8d320e5b25cdea605db0..aa244986f0ae51242a7aa2105dced7dc325a9999 100644 GIT binary patch delta 257 zcmWlTy-LJT5QXpDpUr>bsvDysx@fZs$z#}woHy7a2m!0y%EnvT=@JBc@d7zt8j&HrwKoK;|}kv71Tc^f;}#SCR5vBz97?{ik!5C^AXad?+rw)W(< z?fd0T+kdUzf7I0?8s6xf^e|F)J?DpryMJZ#iip<1%;`-~uw_#hZ=&2yd?-vZW=Ah} hOwYWMiFAQag{jx3cq&I-c@u`xXN?Bv W=v9{8lh)einuj!M?)fG;*5iMM;x#n@ diff --git a/plugins/rmass/actions/__pycache__/pullmessagelist.cpython-314.pyc b/plugins/rmass/actions/__pycache__/pullmessagelist.cpython-314.pyc index 2097e39ec9e9c7ff2722ab4e23df9714785872b0..e9fe07dbc659972f42892560a1ee7e3c71bef62a 100644 GIT binary patch delta 252 zcmWlTy-EW?6ouz+XOi9QWFw-{Dj*0!aC`*|iS;3cm9WU7t7aAUR@j zScI+i5w@{+yl_9x;T{h6SN$k^V$+y~*?<4O|Ke*qenoJefe`~I4nYEvBorw`&@kws z?}XzNAx44$QpaE&a{@!8$Y8I7c9L|sCLw1qI%3nEWi~5lvMB00zbz(@WlfFFZ>W5# z=8c?P%$LV^M9=m5^JCC!RFyA^Mm?0(=8C^v9)_QI*!m@)lbrLdIq<4A!+><;n=^5)#-Za6J`X-{ delta 236 zcmWkoy-EW?82t9{?y|}4U5rWyVq+Br*TM&guP}v`2mz09nxwg{WedShJg!mjl`I4c zxynb_#@@}q3^RNm!+gs>Y0gZpDdPR*^L{N`GrhTv$rH#Cm}B6MLpTBHB$QJ~kRrnX z+H%WWf+0r8VJxArWI0M0j8WW1Z-qAH^XovU%#h*yK_jc>bG@y$+|O3!j99vI{T6l+^xDR=%F^ WWFC|_OoC8D?$dDG75qxhV#hxc#yFw? diff --git a/plugins/rmass/actions/__pycache__/synapseassignusername.cpython-314.pyc b/plugins/rmass/actions/__pycache__/synapseassignusername.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..910c14bba21498bf916b4de072829aa508c0ba0c GIT binary patch literal 895 zcmZ8eOKVd>7@d1_U%5B0zH31YC`ww*Aa0~+Yke%L*p_L!5i|_B(`MTHVrCMXtb!|D znT3n~1qFYLMG(Tc3Al21p?|zy9p|be@8M~-G$vw zgcDB68=TXFsJzDsi*QJ!g&Ts#QB67fUhl4~UU~AL-ukGpI`tn<$i*vUncrxMX3S_8k3J{$m`f{RWS<^) z?WY7Y!phy;vp5n;{a&q;kZuVlNkALte0a#?sFIORNI1s_gfm^4D4h#mHvNjn3ZsB= z{(0kwM!s};Gk(tn7A-Dq616E)x;Ew_J|YT?ZIOm@O4Sk)Rh}=61dFD$n*=Mr`B!i@ zYLkK5FTEDUj^YG5!4S_d@ZDxwU67j5H^U-VUlR9hzvt0o=kJPKpK6_7P{ zLnYPJOe%k5_-9#1kn#t4z%0ImgM6Y)qg0Wk^8L^ZPk39Q0hiEE}`sw$hY zR~DR6wqQ zn};oOeNa(VvP)hgF1Wo8>Nm)n@Xe6ykv(jw8nNC+{kQ%xEgsIh$Fr2?lJ)ilql)$J zf88TlmS~TT6wlHV9o#)0o*X^={7`$6r4bW4m`Em4nlSC>B74kZrh_v!Q(Qshl!VEr zG@bw>n9SlSi*!qX?~ulv%3&$;a={++bKMXLm2wy*ib*xp;gn1M1CP0ynGf(Ow55$! zGNtR6z;HCCN>@3QaluAPdpwgaEwrw zO;kQn@>ld6jFG;F$63N~M5jE$B1vcpy$GDglP5ftfWRr?&9#tNZm!K{OHpEm800e@ ze4J#_BxawAcfrzvpX|cBs92Wu7ph+Pdkg2nZ^5f^Wf5M4^D3SPIGzv*@IR4X5qUv8;CZlUR{2%4z||y?z6C{*xO;@x~^9=fmn6kxnzQMy|c^; zw_<1y=(6rBV3!Ag0uUObFAZ?`3h>YX_g?{wVzoV3b?^rK=w@IqoPt;=Y%e_1=L2i) zwwBjc&hFaTE_|oto5<~~gZk6cbz3UpMTOCQR8Mqcl)W8S+mO zDCAN@tko(vVOm+B?2JOFypU1tjeh4jWI4z$=%)5my}}_+7!K$>3b05Lnrc#kvp7GC zQmH%I3cPk$V!5{ej6p3l3P#yd`7aV4^~x`5PDKE5CO+ htQ_l(TlvV@y4rqJwcJ|-r*pBaEVE^P_QZ~+{sYMm)EWQ) literal 0 HcmV?d00001 diff --git a/plugins/rmass/actions/__pycache__/synapsepush.cpython-314.pyc b/plugins/rmass/actions/__pycache__/synapsepush.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7fa62deebb5a7c53b4c4d4280830a1226915e54b GIT binary patch literal 920 zcmYjOOKTKC5bl|sS7sk>l1()65+5iVb(`QVh!9_p2#Iv!MbKs3>0~;Y7u`K;c2A3^ zcyf<|c=6`%@CO(KVQDW5p1cj@4_LEn(1z~*y6UUys;_REpLURzm1k@i<@3 zUvTyrzyQ5MMB79X5nXDeBz0oQ(o6L0oOK=rH!*K7|9eW4SS>`Bb~IuWhuAG0>(U}K z#3f}?!8#xtP?cDuMlN9Rf~5`?1M97lw8^Y=$ef%Z^Q1vc;4A=Rkz9lAUNN8SP(=T48d);+B`DA?r+%w;{gEIzZ!8Bw?5O z%1SxiXUEFoktal3RahLb*O0M@RmQWO-M#)=AZ04nF%FYs8PE{QYju(cwWpfl{j*nG6!n`qQTLMD*mT2!eC6)FpgO4D^~=`8zDWJ31!o`%XpE?6EZoX0RDEY z3{XrcE22=JuZ+}_fwBYYfxr-#WHQa9_=3)gL8)~dBoW2F*JVEDQRKx?4997hfjR;# zpc$SHOkgpcX_|?kmG+c#FG~C@r1$wXNTtCRU*X70nx_3kGh_Sez!=*X;Hb_H+_77E zzxr-<_~M7VGO%+Cnbq&L=GdqWmp*Kr)^FyvS=PZ(M>F%oCnIO>w6T_(CDY2?!m)#=ha;yxYyxf3 f${l3RpEhpfWoz>795QPsy}YEC^|v;^0)6}ej71rt literal 0 HcmV?d00001 diff --git a/plugins/rmass/actions/__pycache__/synapsepushmessages.cpython-314.pyc b/plugins/rmass/actions/__pycache__/synapsepushmessages.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..56607c9fba7d41cd0c61c5d02754493c31f764ea GIT binary patch literal 936 zcmY*W+iKK67@j1PWcJiux7$_gsUj##F>@h!Q9O%c5f6;@))Jesn>HtAW@|TsEME0W z_R?4IF?<3`K?vhb!3*&&;0ySt+g>;%^L_LE{O9GlRvp3l_~ZN5ZwsMc)#K!lWAgVi zkO_K&n6Zi!Vx}^frA&sE#cU6;b1w|$0GYUO*@h&0T;R+&&=y#pqnTBZ5oWVE7CNsWU|f2DpV2I zZY(#|IO9jsjvtM9?!=zryGr9DA0oI+qa7Y->*edUoDP-BoLmYM#;M6{T&uyr5?v5xsu}+O#?>eWHPNnIaN@^YVH$H9_&Z@hMI8GHtWwY{8f}J&1O=u+ zXFHWt&NiOGqED*#vau$&;xrgV{EoN`Ar1KDH@Hg6FpQt5cIaN1;6t|!SL@WIUe=M_ zI+z<2xO33Gc8I$Nz2yS8rnS8fWy5Wl6SwT4+Wd62Al>Pc(za{|TtIjXLecDhnJX=G zpg|bBI>^3R*zM`reSEHf59s-Qe6hg&ik{iWiv?aN+vLcnkL+GS fntNLX=}ZTZr|*;m+4K9ot7XG!n4es63A*?PC)*y% literal 0 HcmV?d00001 diff --git a/plugins/rmass/actions/__pycache__/synapseregister.cpython-314.pyc b/plugins/rmass/actions/__pycache__/synapseregister.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9f06ac302803d3143b60e1b14d8f8b51ab7c0d94 GIT binary patch literal 924 zcmYjOOK%e~5cY2NmCb{+4W%iULJ=qhVpZG_LgFd4NNweo3lc<2)^y$OOSTi5oFYze zB1aCKxbZvq0aQpxk-0?T#BHVi0cMj%V9EC9nQz83-`uQLTm)M6VFhwva?bml`QZofxw4679`d^C-B9d299GQ<}tTA=22@h)o<~w{)yaixi1V zN~DZ+KsKNXu}GC%z~BW-4J-!MTLo#81?iAQStLuOPE6oj1jaJC1X*0NLRPRQOGH~o z&DB5or#pkjen0k7LD!xO%GU@zWI}RJvLsfP*U9e#;Te2;a2#;Hic9`%)# za{7jyD2qp)5N%avall?f#ynOTd%ODwgUvw7RNTclOipA#LnyD+Ng~{iJjvM!?u3lS z68G+4KJ5fbtvu+;AmMBOKyVh+^OCF(30N@?t24<23AoIsz=9 z8J-PHU@@ENT!U8HSI)gC@w*|t&(|TH23vfCBP(c{_6rp!_SK;=u`j?;Ss1z#xBPMA z!^Y^vPj_u-XBILmKdQ}%Q5`itZJ*X|WVTt-!BIoSrP0%|vv^wH%*=vmWo~ZS2Ftj- z{K*-Y>!Sc17v0RXz&qvdfOqtGMsL&{eQ0FYkXsvC6Z= 3600" -#} - -#availabletime = int(os.environ.get("AVAILABLE_DURATION",3)) - -#duration = availabletime - 1 - -#keys = [ -# { -# "keytitle": "option", -# "keyvalue": 1, -# }, -# { -# "keytitle": "duration", -# "keyvalue": duration, -# }, -#] - method = "GET" -#path = "https://rentmasseur.com/api/v1/mailbox?page=1&folder=1&sort=1" path = "https://rentmasseur.com/api/v1/mailbox" - -#path = [ -# "https://rentmasseur.com/api/v1/mailbox/", -# { -# "output": "emails", -# "keys": [0, "id"] -# } -#] - headers = { "Authorization": { "output": "access_token", @@ -46,13 +15,6 @@ headers = { }, } -#select = { -# "source": "emails", -# "selectmethod": "exclude", -# "key": "unread", -# "value": 0, -#} - select = { "source": "emails", "include": { @@ -69,6 +31,3 @@ outputs = { "emails": "emails" } -#prints = { -# "messageid": "id" -#} diff --git a/plugins/rmass/actions/synapseassignusername.py b/plugins/rmass/actions/synapseassignusername.py new file mode 100644 index 0000000..51ef75a --- /dev/null +++ b/plugins/rmass/actions/synapseassignusername.py @@ -0,0 +1,55 @@ +import os + +name = "Synapse Assign Username" + +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": "type", + # "keyvalue": "m.login.application_service", + #}, + { + "keytitle": "displayname", + "keyvalue": { + "resolved": "username", + }, + }, +] + +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"}, + ":loxthelion.com/displayname?user_id=@rmass_", + {"resolved": "sender"}, + ":loxthelion.com" +] + +headers = { + "Authorization": { + "os": "AS_TOKEN", + "prefix": "Bearer ", + }, + "Content-Type": "application/json", +} + +#outputs = { +# "user_id": "user_id", +#} diff --git a/plugins/rmass/actions/synapsecreatedmroom.py b/plugins/rmass/actions/synapsecreatedmroom.py new file mode 100644 index 0000000..0a5e1d7 --- /dev/null +++ b/plugins/rmass/actions/synapsecreatedmroom.py @@ -0,0 +1,76 @@ +import os + +name = "Synapse Create DM Room" + +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", + "keyvalue": { + "resolved": "username", + }, + }, + { + "keytitle": "room_alias_name", + "keyvalue": { + "resolved": "sender", + "prefix": "rmass_dmtest_", + }, + }, + { + "keytitle": "visibility", + "keyvalue": "private", + }, + { + "keytitle": "preset", + "keyvalue": "private_chat", + }, + { + "keytitle": "is_direct", + "keyvalue": True, + }, + { + "keytitle": "invite", + "keyvalue": ["@lyncoln:loxthelion.com"], + }, + #{ + #"keytitle": "power_level_content_override", + #"keyvalue": { + #"users": { + #"@lyncoln:loxthelion.com": 100, + #"@rmass_:loxthelion.com": 100, + #}, + #}, + #} +] + +method = "POST" + +path = [ + "https://loxthelion.com/_matrix/client/v3/createRoom?user_id=@rmass_", + {"resolved": "sender"}, + ":loxthelion.com", +] + +headers = { + "Authorization": { + "os": "AS_TOKEN", + "prefix": "Bearer ", + }, + "Content-Type": "application/json", +} + +outputs = { + "room_id": "room_id", +} diff --git a/plugins/rmass/actions/synapsegetroomid.py b/plugins/rmass/actions/synapsegetroomid.py new file mode 100644 index 0000000..77f1e07 --- /dev/null +++ b/plugins/rmass/actions/synapsegetroomid.py @@ -0,0 +1,38 @@ +import os + +name = "Synapse Get Room ID" + +kind = "action" + +showstatus = True + +#astoken = os.environ["AS_TOKEN"] + +resolve = { + "sender": ["messages", 0, "senderId"], + #"message_id": ["messages", 0, "id"], + #"username": ["profile", "username"], + #"message_body": ["messages", 0, "text"], + #"room_id": ["room_id"], + #"location": ["profile", "location"], +} + +method = "GET" + +path = [ + "https://loxthelion.com/_matrix/client/v3/directory/room/%23rmass_dmtest_", + {"resolved": "sender"}, + "%3Aloxthelion.com", +] + +headers = { + "Authorization": { + "os": "AS_TOKEN", + "prefix": "Bearer ", + }, + "Content-Type": "application/json", +} + +outputs = { + "room_id": "room_id", +} diff --git a/plugins/rmass/actions/synapsepush.py b/plugins/rmass/actions/synapsepush.py deleted file mode 100644 index 3f62dee..0000000 --- a/plugins/rmass/actions/synapsepush.py +++ /dev/null @@ -1,52 +0,0 @@ -import os - -name = "Synapse Message Push" - -kind = "action" - -showstatus = True - -astoken = os.environ["AS_TOKEN"] - -resolve = { - "sender": ["message", "senderId"], - #"messageid": ["message", "id"], - "username": ["profile", "username"], - "location": ["profile", "location"], -} -keys = [ - { - "keytitle": "type", - "keyvalue": , - }, - { - "keytitle": "username", - "keyvalue": {outputs: senderId}, - }, - { - "keytitle": "csrf", - "keyvalue": { - "outputs": "csrf_token", - }, - }, - { - "keytitle": "remember", - "keyvalue": 1, - }, -] - -method = "POST" - -path = "https://rentmasseur.com/api/v1/login" - -outputs = { - "access_token": "accessToken", - "refresh_token": "refreshToken", -} - -savedata = [ - "access_token", - "refresh_token", -] - -savepath = os.environ["TOKEN_STORE"] diff --git a/plugins/rmass/actions/synapsepushmessages.py b/plugins/rmass/actions/synapsepushmessages.py new file mode 100644 index 0000000..9d077b9 --- /dev/null +++ b/plugins/rmass/actions/synapsepushmessages.py @@ -0,0 +1,54 @@ +import os + +name = "Synapse Message Push" + +kind = "action" + +showstatus = True + +#astoken = os.environ["AS_TOKEN"] + +resolve = { + "sender": ["messages", 0, "senderId"], + "message_id": ["messages", 0, "id"], + #"username": ["profile", "username"], + "message_body": ["messages", 0, "text"], + "room_id": ["room_id"], + #"location": ["profile", "location"], +} +keys = [ + { + "keytitle": "msgtype", + "keyvalue": "m.text", + }, + { + "keytitle": "body", + "keyvalue": { + "resolved": "message_body", + }, + }, +] + +method = "PUT" + +path = [ + "https://loxthelion.com/_matrix/client/v3/rooms/", + {"resolved": "room_id"}, + "/send/m.room.message/", + {"resolved": "message_id"}, + "?user_id=@rmass_", + {"resolved": "sender"}, + ":loxthelion.com", +] + +headers = { + "Authorization": { + "os": "AS_TOKEN", + "prefix": "Bearer ", + }, + "Content-Type": "application/json", +} + +#outputs = { +# "room_id": "room_id", +#} diff --git a/plugins/rmass/actions/synapseregister.py b/plugins/rmass/actions/synapseregister.py new file mode 100644 index 0000000..18f6316 --- /dev/null +++ b/plugins/rmass/actions/synapseregister.py @@ -0,0 +1,49 @@ +import os + +name = "Synapse User Registration" + +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": "type", + "keyvalue": "m.login.application_service", + }, + { + "keytitle": "username", + "keyvalue": { + "resolved": "sender", + "prefix": "rmass_" + }, + }, + { + "keytitle": "inhibitlogin", + "keyvalue": True, + }, +] + +method = "POST" + +path = "https://loxthelion.com/_matrix/client/v3/register" + +headers = { + "Authorization": { + "os": "AS_TOKEN", + "prefix": "Bearer ", + }, + "Content-Type": "application/json", +} + +outputs = { + "user_id": "user_id", +} diff --git a/plugins/rmass/operations/__pycache__/pullmessagelist.cpython-314.pyc b/plugins/rmass/operations/__pycache__/pullmessagelist.cpython-314.pyc index 3b85622385336654a666ebe2ca055c81a4836226..2e7780a33673dde0db78f9b6f5932aa8168dd983 100644 GIT binary patch delta 454 zcmX|-KWiH?7{;ZO?sRASY}alYJk?+_7$?pr=wb?0p(P*+O$L=7wXiS7e~?}e?GPWG zI@V)#w#ub<)Gv1ay9+Akz1q}Y}&7L(CkKb^$0p>7m3ynctz=PhfoJw{r|3C8%rL3ltO zEFO^ioo-nxp+1b$Wd+EnndNN2~zE3aW SbaIu}Rym_}=W9hD+J?WJjCy