Also handle cases without trailing slash in translation.
authorBenjamin Braatz <benjamin.braatz@graph-it.com>
Wed, 22 Sep 2021 12:57:13 +0000 (14:57 +0200)
committerBenjamin Braatz <benjamin.braatz@graph-it.com>
Wed, 22 Sep 2021 12:57:13 +0000 (14:57 +0200)
controlpi_plugins/wsclient.py

index f0a2263ba2b797e3dc6ce1badf9ce180c7d5e53b..1043baf82d9d7c989ab0bb64db664987c639aba1 100644 (file)
@@ -27,7 +27,8 @@ def translate_message(original_message: Dict[str, Any], sender: str,
     original_sender = sender
     if 'original sender' in message:
         assert isinstance(message['original sender'], str)
-        if message['original sender'].startswith(prefix):
+        if (message['original sender'] == receiver
+                or message['original sender'].startswith(prefix)):
             return None
         original_sender += '/' + message['original sender']
     elif 'sender' in message:
@@ -41,6 +42,8 @@ def translate_message(original_message: Dict[str, Any], sender: str,
         target = message['target']
         if target == '':
             target = sender
+        elif target == receiver:
+            target = ''
         elif target.startswith(prefix):
             target = target[len(prefix):]
         else:
@@ -83,6 +86,8 @@ def translate_template(original_template: Dict[str, Any], sender: str,
             target = template['target']['const']
             if target == '':
                 target = sender
+            elif target == receiver:
+                target = ''
             elif target.startswith(prefix):
                 target = target[len(prefix):]
             else: