From ad23e0c4c377df1272548172bcbfc85bbf97fd28 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Sun, 10 Apr 2022 11:25:21 +0100 Subject: [PATCH 01/11] Invert logic --- daemon.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daemon.py b/daemon.py index 8c7ee7fea..6497b3d7b 100644 --- a/daemon.py +++ b/daemon.py @@ -2233,7 +2233,7 @@ class PubServer(BaseHTTPRequestHandler): search_handle = local_handle else: search_handle = None - if search_handle: + if not search_handle: msg = \ html_account_info(self.server.css_cache, self.server.translate, From 978ea17d02ecf7a93d255d6a44c46d9f15d52d5e Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Sun, 10 Apr 2022 11:37:37 +0100 Subject: [PATCH 02/11] Check for handle --- daemon.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/daemon.py b/daemon.py index 6497b3d7b..688dc63e2 100644 --- a/daemon.py +++ b/daemon.py @@ -2212,7 +2212,7 @@ class PubServer(BaseHTTPRequestHandler): search_handle = \ search_nickname + '@' + search_domain else: - search_handle = None + search_handle = '' if '@' not in search_handle: if search_handle.startswith('http'): search_nickname = \ @@ -2223,7 +2223,7 @@ class PubServer(BaseHTTPRequestHandler): search_handle = \ search_nickname + '@' + search_domain else: - search_handle = None + search_handle = '' if '@' not in search_handle: # is this a local nickname on this instance? local_handle = \ @@ -2232,8 +2232,10 @@ class PubServer(BaseHTTPRequestHandler): '/accounts/' + local_handle): search_handle = local_handle else: - search_handle = None - if not search_handle: + search_handle = '' + if search_handle is None: + search_handle = '' + if '@' in search_handle: msg = \ html_account_info(self.server.css_cache, self.server.translate, From 5129bd7eccad3654a848a0e093eff94d763b5a38 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Sun, 10 Apr 2022 12:00:25 +0100 Subject: [PATCH 03/11] Getting search handles --- daemon.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/daemon.py b/daemon.py index 688dc63e2..03389ca1e 100644 --- a/daemon.py +++ b/daemon.py @@ -2201,7 +2201,9 @@ class PubServer(BaseHTTPRequestHandler): mod_text = moderation_text.replace('+', ' ') moderation_text = \ urllib.parse.unquote_plus(mod_text.strip()) - search_handle = moderation_text + search_handle = moderation_text + else: + search_handle = moderation_str.strip() if search_handle: if '/@' in search_handle: search_nickname = \ From 8042f08df0fc151d9543266c2a67287c6d1ec28f Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Sun, 10 Apr 2022 12:06:43 +0100 Subject: [PATCH 04/11] Debug --- daemon.py | 1 + 1 file changed, 1 insertion(+) diff --git a/daemon.py b/daemon.py index 03389ca1e..4e9033544 100644 --- a/daemon.py +++ b/daemon.py @@ -2204,6 +2204,7 @@ class PubServer(BaseHTTPRequestHandler): search_handle = moderation_text else: search_handle = moderation_str.strip() + print('search_handle: ' + str(search_handle)) if search_handle: if '/@' in search_handle: search_nickname = \ From 4835a9da564201690772d25df5ddea9be706d3d1 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Sun, 10 Apr 2022 12:09:43 +0100 Subject: [PATCH 05/11] Debug --- daemon.py | 1 + 1 file changed, 1 insertion(+) diff --git a/daemon.py b/daemon.py index 4e9033544..54d1ae869 100644 --- a/daemon.py +++ b/daemon.py @@ -2205,6 +2205,7 @@ class PubServer(BaseHTTPRequestHandler): else: search_handle = moderation_str.strip() print('search_handle: ' + str(search_handle)) + print('moderation_str: ' + str(moderation_str)) if search_handle: if '/@' in search_handle: search_nickname = \ From 0517d034a0a3014f70c192cf47594a31637032b3 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Sun, 10 Apr 2022 12:14:11 +0100 Subject: [PATCH 06/11] Stray elif --- daemon.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/daemon.py b/daemon.py index 54d1ae869..88b3e6477 100644 --- a/daemon.py +++ b/daemon.py @@ -2194,18 +2194,14 @@ class PubServer(BaseHTTPRequestHandler): mod_text = moderation_text.replace('+', ' ') moderation_text = \ urllib.parse.unquote_plus(mod_text.strip()) - elif moderation_str.startswith('submitInfo'): + if moderation_str.startswith('submitInfo'): if '=' in moderation_str: moderation_text = \ moderation_str.split('=')[1].strip() mod_text = moderation_text.replace('+', ' ') moderation_text = \ urllib.parse.unquote_plus(mod_text.strip()) - search_handle = moderation_text - else: - search_handle = moderation_str.strip() - print('search_handle: ' + str(search_handle)) - print('moderation_str: ' + str(moderation_str)) + search_handle = moderation_text if search_handle: if '/@' in search_handle: search_nickname = \ @@ -2265,7 +2261,7 @@ class PubServer(BaseHTTPRequestHandler): self._write(msg) self.server.postreq_busy = False return - elif moderation_str.startswith('submitBlock'): + if moderation_str.startswith('submitBlock'): moderation_button = 'block' elif moderation_str.startswith('submitUnblock'): moderation_button = 'unblock' From 3ed59c88a69812cc2a774acf80a4a2496870e700 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Sun, 10 Apr 2022 12:16:52 +0100 Subject: [PATCH 07/11] Get moderation text first --- daemon.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/daemon.py b/daemon.py index 88b3e6477..c51fc0fb5 100644 --- a/daemon.py +++ b/daemon.py @@ -2186,6 +2186,7 @@ class PubServer(BaseHTTPRequestHandler): if '&' in moderation_params: moderation_text = None moderation_button = None + # get the moderation text first for moderation_str in moderation_params.split('&'): if moderation_str.startswith('moderationAction'): if '=' in moderation_str: @@ -2194,6 +2195,8 @@ class PubServer(BaseHTTPRequestHandler): mod_text = moderation_text.replace('+', ' ') moderation_text = \ urllib.parse.unquote_plus(mod_text.strip()) + # which button was pressed? + for moderation_str in moderation_params.split('&'): if moderation_str.startswith('submitInfo'): if '=' in moderation_str: moderation_text = \ From 3521511d7f20365dd0023ca34cf2542ab4440e0d Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Sun, 10 Apr 2022 12:19:23 +0100 Subject: [PATCH 08/11] Debug --- daemon.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/daemon.py b/daemon.py index c51fc0fb5..3724f69c1 100644 --- a/daemon.py +++ b/daemon.py @@ -2187,6 +2187,7 @@ class PubServer(BaseHTTPRequestHandler): moderation_text = None moderation_button = None # get the moderation text first + print('moderation_params: ' + str(moderation_params)) for moderation_str in moderation_params.split('&'): if moderation_str.startswith('moderationAction'): if '=' in moderation_str: @@ -2195,6 +2196,7 @@ class PubServer(BaseHTTPRequestHandler): mod_text = moderation_text.replace('+', ' ') moderation_text = \ urllib.parse.unquote_plus(mod_text.strip()) + print('moderation_text: ' + str(moderation_text)) # which button was pressed? for moderation_str in moderation_params.split('&'): if moderation_str.startswith('submitInfo'): From 627cc1bf94575989d325f0698187122ef80e20e0 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Sun, 10 Apr 2022 12:22:09 +0100 Subject: [PATCH 09/11] Decode @ --- daemon.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/daemon.py b/daemon.py index 3724f69c1..6dc49fa04 100644 --- a/daemon.py +++ b/daemon.py @@ -2187,7 +2187,7 @@ class PubServer(BaseHTTPRequestHandler): moderation_text = None moderation_button = None # get the moderation text first - print('moderation_params: ' + str(moderation_params)) + moderation_params = moderation_params.replace('%40', '@') for moderation_str in moderation_params.split('&'): if moderation_str.startswith('moderationAction'): if '=' in moderation_str: @@ -2196,7 +2196,6 @@ class PubServer(BaseHTTPRequestHandler): mod_text = moderation_text.replace('+', ' ') moderation_text = \ urllib.parse.unquote_plus(mod_text.strip()) - print('moderation_text: ' + str(moderation_text)) # which button was pressed? for moderation_str in moderation_params.split('&'): if moderation_str.startswith('submitInfo'): From 6a1b09a9da2dbb39a5ce323080c351fd0ea409b5 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Sun, 10 Apr 2022 12:27:36 +0100 Subject: [PATCH 10/11] Getting moderation action --- daemon.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/daemon.py b/daemon.py index 6dc49fa04..a886d78ec 100644 --- a/daemon.py +++ b/daemon.py @@ -2187,21 +2187,21 @@ class PubServer(BaseHTTPRequestHandler): moderation_text = None moderation_button = None # get the moderation text first - moderation_params = moderation_params.replace('%40', '@') + actStr = 'moderationAction=' for moderation_str in moderation_params.split('&'): - if moderation_str.startswith('moderationAction'): - if '=' in moderation_str: + if moderation_str.startswith(actStr): + if actStr in moderation_str: moderation_text = \ - moderation_str.split('=')[1].strip() + moderation_str.split(actStr)[1].strip() mod_text = moderation_text.replace('+', ' ') moderation_text = \ urllib.parse.unquote_plus(mod_text.strip()) # which button was pressed? for moderation_str in moderation_params.split('&'): - if moderation_str.startswith('submitInfo'): - if '=' in moderation_str: + if moderation_str.startswith('submitInfo='): + if 'submitInfo=' in moderation_str: moderation_text = \ - moderation_str.split('=')[1].strip() + moderation_str.split('submitInfo=')[1].strip() mod_text = moderation_text.replace('+', ' ') moderation_text = \ urllib.parse.unquote_plus(mod_text.strip()) From bd05fdb51b9f472cf43b34a9c42d0094329b48aa Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Sun, 10 Apr 2022 12:29:06 +0100 Subject: [PATCH 11/11] Don't overwrite moderation text --- daemon.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/daemon.py b/daemon.py index a886d78ec..3246da238 100644 --- a/daemon.py +++ b/daemon.py @@ -2199,7 +2199,8 @@ class PubServer(BaseHTTPRequestHandler): # which button was pressed? for moderation_str in moderation_params.split('&'): if moderation_str.startswith('submitInfo='): - if 'submitInfo=' in moderation_str: + if not moderation_text and \ + 'submitInfo=' in moderation_str: moderation_text = \ moderation_str.split('submitInfo=')[1].strip() mod_text = moderation_text.replace('+', ' ')