public inbox for [email protected]
 help / color / mirror / Atom feed
From: Muhammad Rizki <[email protected]>
To: Ammar Faizi <[email protected]>
Cc: Alviro Iskandar Setiawan <[email protected]>,
	GNU/Weeb Mailing List <[email protected]>
Subject: Re: [PATCH v2 06/17] utils: Improve fix_utf8_char()
Date: Wed, 23 Nov 2022 16:50:05 +0700	[thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>

On 20/11/2022 12.23, Ammar Faizi wrote:
> On 11/9/22 9:49 AM, Muhammad Rizki wrote:
>> Improvement for the fix_utf8_char() to ensure the `&gt;` will be
>> unescaped, because if not use the html.unescape(), the email payload
>> will contain `&gt;` for the Discord bot.
>>
>> Also, change on the html.escape() to use it only once. From the past
>> issue bb8855bf, some email message doesn't escaped correctly, so I use
>> the html.escape() twice. Within the current version, this issue should
>> be fixed and can call the html.escape() just once.
>>
>> Fixes: bb8855bf ("Fix the storage management after the refactor was 
>> happened")
>> Signed-off-by: Muhammad Rizki <[email protected]>
>> ---
>>   daemon/atom/utils.py | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/daemon/atom/utils.py b/daemon/atom/utils.py
>> index dd9e1a6..c21a4b5 100644
>> --- a/daemon/atom/utils.py
>> +++ b/daemon/atom/utils.py
>> @@ -258,8 +258,8 @@ def remove_patch(tmp: Union[str, list]):
>>   def fix_utf8_char(text: str, html_escape: bool = True):
>>       t = text.rstrip().replace("�"," ")
>>       if html_escape:
>> -        t = html.escape(html.escape(text))
>> -    return t
>> +        return html.escape(text)
>> +    return html.unescape(t)
> 
> Please stop trying random things to make your output looks good
> without understanding what went wrong. This stupid path has been
> turning on and off forever since the beginning. What is exactly
> the underlying issue behind this?
> 
> I want to get a real understanding of why such an issue happens. I
> will start rejecting fixes that can't be well-understood start from
> now on. For this one patch, I want you:
> 
>    1. Understand went wrong from the past.
> 
>    2. Explain how did it go wrong.
> 
>    3. Explain how does this patch act as a real fix.
> 
> Double escape was just your random attempt and it didn't actually
> fix the issue well enough. Why? Because your fix is not based on an
> understanding, your fix is only respecting particular output and
> you hacked it to make it looks good, but throw away generic cases.
> 
> You can't explain the technical reason of why you did double escape.
> Just like this patch does. I don't want we work this way forever.
> 

Oh, my bad. Sometimes I just being dumb when I really getting tired.
adding `html.unescape()` at the end it was because I didn't focuse to 
see the change from "t = html.escape(html.escape(text))" to "return 
html.escape(text)", that's why I unescape it again from the old `t` 
variable.

I change them to:
	
	def fix_utf8_char(text: str, html_escape: bool = True):
		t = text.rstrip().replace("�"," ")
		if html_escape:
			return html.escape(t)
		return t

We only escape the text if the platform is Telegram and we don't need to 
escape nor unescape for the Discord platform, UNLESS you want me to 
force unescape if the email payload contain "&gt;". But, yeah, forcing 
unescape is not a practice way, it will break the email payload.

This should a FINAL change for html escape issue. That's my explanation, 
sorry if sometimes having a bad code, I usually don't work too seriously 
like this, please understand.

  reply	other threads:[~2022-11-23  9:50 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-09  2:49 [PATCH v2 00/17] Fix, improvement and implement a bot logger Muhammad Rizki
2022-11-09  2:49 ` [PATCH v2 01/17] discord: Fix typo on _flood_exception() Muhammad Rizki
2022-11-09  2:49 ` [PATCH v2 02/17] fix: utils: Fix .patch file payload Muhammad Rizki
2022-11-09  8:59   ` Ammar Faizi
2022-11-09  9:04     ` Muhammad Rizki
2022-11-09  9:44     ` Muhammad Rizki
2022-11-09  9:49       ` Ammar Faizi
2022-11-09  9:50         ` Muhammad Rizki
2022-11-20  4:49   ` Ammar Faizi
2022-11-20  6:39     ` Muhammad Rizki
2022-11-09  2:49 ` [PATCH v2 03/17] fix: utils: add a substr for the patch media caption Muhammad Rizki
2022-11-20  4:51   ` Ammar Faizi
2022-11-23  9:38     ` Muhammad Rizki
2022-11-09  2:49 ` [PATCH v2 04/17] fix: utils: Fix the extract_list() utility function Muhammad Rizki
2022-11-09  2:49 ` [PATCH v2 05/17] utils: Back to use decode=True for the get_payload() Muhammad Rizki
2022-11-09  2:49 ` [PATCH v2 06/17] utils: Improve fix_utf8_char() Muhammad Rizki
2022-11-20  5:23   ` Ammar Faizi
2022-11-23  9:50     ` Muhammad Rizki [this message]
2022-11-09  2:49 ` [PATCH v2 07/17] utils: Add catch_err() for the log message Muhammad Rizki
2022-11-09  2:49 ` [PATCH v2 08/17] logger: Initial work for the bot logger for future use Muhammad Rizki
2022-11-09  2:49 ` [PATCH v2 09/17] telegram: Use the created BotLogger() class Muhammad Rizki
2022-11-09  2:49 ` [PATCH v2 10/17] telegram: Add variable LOG_CHANNEL_ID declaration Muhammad Rizki
2022-11-20  4:56   ` Ammar Faizi
2022-11-20  6:26     ` Muhammad Rizki
2022-11-09  2:49 ` [PATCH v2 11/17] telegram: Add send_log_file() in the DaemonClient() Muhammad Rizki
2022-11-09  2:49 ` [PATCH v2 12/17] telegram: Implement the log message for catching errors Muhammad Rizki
2022-11-09  2:49 ` [PATCH v2 13/17] discord: Add variable LOG_CHANNEL_ID declaration Muhammad Rizki
2022-11-09  2:49 ` [PATCH v2 14/17] discord: Use the BotLogger() to the GWClient() Muhammad Rizki
2022-11-09  2:50 ` [PATCH v2 15/17] discord: Add send_log_file in " Muhammad Rizki
2022-11-09  2:50 ` [PATCH v2 16/17] discord: Implement the catch erros and logs Muhammad Rizki
2022-11-09  2:50 ` [PATCH v2 17/17] Remove some unused imports Muhammad Rizki
2022-12-07 14:42 ` [PATCH v2 00/17] Fix, improvement and implement a bot logger Alviro Iskandar Setiawan
2022-12-07 14:59   ` Ammar Faizi
2022-12-08  6:41     ` Kiizuha
     [not found]       ` <[email protected]>
2022-12-08 16:36         ` Kiizuha

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox