From 6cd35d7d642d042db273d70abee2b6571dc89174 Mon Sep 17 00:00:00 2001 From: Lyncoln Date: Mon, 26 Oct 2026 09:44:54 -0400 Subject: [PATCH] Made avatar retrieval optional by introducing the allow action gate. --- plugins/rmass/actions/getrmassuseravatar.py | 4 ++ plugins/rmass/actions/rmassavatartosynapse.py | 4 ++ plugins/rmass/actions/synapseassignavatar.py | 22 ++++---- .../rmass/actions/synapseassigndmavatar.py | 54 ++++++++++--------- 4 files changed, 48 insertions(+), 36 deletions(-) diff --git a/plugins/rmass/actions/getrmassuseravatar.py b/plugins/rmass/actions/getrmassuseravatar.py index edaccff..e2d4cff 100644 --- a/plugins/rmass/actions/getrmassuseravatar.py +++ b/plugins/rmass/actions/getrmassuseravatar.py @@ -1,9 +1,13 @@ +import os + name = "Get User Avatar" kind = "action" alias = "getavatar" +allowaction = bool(os.environ.get("UPDATE_AVATARS", True)) + showstatus = True isrequest = True diff --git a/plugins/rmass/actions/rmassavatartosynapse.py b/plugins/rmass/actions/rmassavatartosynapse.py index ffe983d..f8f8746 100644 --- a/plugins/rmass/actions/rmassavatartosynapse.py +++ b/plugins/rmass/actions/rmassavatartosynapse.py @@ -1,9 +1,13 @@ +import os + name = "Upload Avatar to Synapse" kind = "action" alias = "uploadavatar" +allowaction = os.environ.get("UPDATE_AVATARS", True) + showstatus = True resolve = { diff --git a/plugins/rmass/actions/synapseassignavatar.py b/plugins/rmass/actions/synapseassignavatar.py index c1069c9..56d5055 100644 --- a/plugins/rmass/actions/synapseassignavatar.py +++ b/plugins/rmass/actions/synapseassignavatar.py @@ -6,6 +6,8 @@ kind = "action" showstatus = True +allowaction = os.environ.get("UPDATE_AVATARS", True) + resolve = { "get": { "sender": ["messageheaders", "userCard", "id"], @@ -69,18 +71,18 @@ headers = { #} filters = [ -# { -# "filterkey": "avatar_hash", -# "operator": "==", -# "filtervalue": {"outputs": "db_avatar_hash"}, -# "print": f"User avatar up to date. Skipping {name}...", -# }, { - "filterkey": "uploadimage", - "operator": "is", - "filtervalue": None, - "print": f"No avatar for upload. Skipping {name}...", + "filterkey": "avatar_hash", + "operator": "==", + "filtervalue": {"outputs": "db_avatar_hash"}, + "print": f"User avatar up to date. Skipping {name}...", }, +# { +# "filterkey": "uploadimage", +# "operator": "is", +# "filtervalue": None, +# "print": f"No avatar for upload. Skipping {name}...", +# }, ] #saverow = { diff --git a/plugins/rmass/actions/synapseassigndmavatar.py b/plugins/rmass/actions/synapseassigndmavatar.py index 6bb33b2..c3cd262 100644 --- a/plugins/rmass/actions/synapseassigndmavatar.py +++ b/plugins/rmass/actions/synapseassigndmavatar.py @@ -6,6 +6,8 @@ kind = "action" showstatus = True +allowaction = os.environ.get("UPDATE_AVATARS", True) + resolve = { "get": { "sender": ["messageheaders", "userCard", "id"], @@ -43,8 +45,8 @@ path = [ {"resolved": "room_id"}, "/state/m.room.avatar", #{"resolved": "matrixuser"}, - #"/avatar_url?user_id=", - #{"resolved": "matrixuser"}, + "?user_id=", + {"resolved": "matrixuser"}, ] headers = { @@ -66,27 +68,27 @@ filters = [ ] -saverow = { - "table": "user_profiles", - "columns": [ - {"rmass_user_id": "INTEGER PRIMARY KEY"}, - {"rmass_username": "TEXT NOT NULL UNIQUE"}, - {"rmass_dm_room": "TEXT NOT NULL UNIQUE"}, - {"rmass_avatar_hash": "TEXT"}, - ], - "rowitems": [ - {"resolved": "sender"}, - {"resolved": "username"}, - {"resolved": "matrixdm"}, - {"outputs": "useravatar_hash"}, - ], - "onconflict": { - "target": "rmass_user_id", - "update": [ - "rmass_username", - "rmass_dm_room", - "rmass_avatar_hash", - ], - "preservenull": True, - }, -} \ No newline at end of file +#saverow = { +# "table": "user_profiles", +# "columns": [ +# {"rmass_user_id": "INTEGER PRIMARY KEY"}, +# {"rmass_username": "TEXT NOT NULL UNIQUE"}, +# {"rmass_dm_room": "TEXT NOT NULL UNIQUE"}, +# {"rmass_avatar_hash": "TEXT"}, +# ], +# "rowitems": [ +# {"resolved": "sender"}, +# {"resolved": "username"}, +# {"resolved": "matrixdm"}, +# {"outputs": "useravatar_hash"}, +# ], +# "onconflict": { +# "target": "rmass_user_id", +# "update": [ +# "rmass_username", +# "rmass_dm_room", +# "rmass_avatar_hash", +# ], +# "preservenull": True, +# }, +#} \ No newline at end of file