From: Kiizuha <[email protected]>
To: Alviro Iskandar Setiawan <[email protected]>,
Muhammad Rizki <[email protected]>
Cc: Ammar Faizi <[email protected]>,
GNU/Weeb Mailing List <[email protected]>
Subject: Re: [PATCH v3 04/17] fix: utils: Fix the extract_list() utility function
Date: Tue, 20 Dec 2022 08:51:09 +0700 [thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <CAOG64qNjbtds3x=Zf-wTsea6r_e+ftS4nZy1qViiByCwwUFybg@mail.gmail.com>
On 20/12/2022 07.33, Alviro Iskandar Setiawan wrote:
> On Tue, Dec 20, 2022 at 6:57 AM Muhammad Rizki <[email protected]> wrote:
>> +def extract_list(key: str, thread: Message):
>> + try:
>> + people = thread.get(key.lower())
>> + if not people:
>> + return []
>> + except:
>> return []
>> return __extract_list(people)
>
> Why does this have to be a "try and except"?
> And not something like:
>
> k = key.lower()
> if k in thread:
> return __extract_list(people)
> return []
It supposed to be just like this:
people = thread.get(key.lower())
if not people:
return []
return __extract_list(people)
But, the library is throwing an error if an email is not adding a To
recipients.
Logs:
Traceback (most recent call last):
File
"D:\Riski\Coding\Github\rushkii\lore-daemon\daemon\atom\utils.py", line
90, in extract_list
people = thread.get(key.lower())
File "C:\Program Files\Python38\lib\email\message.py", line 471, in get
return self.policy.header_fetch_parse(k, v)
File "C:\Program Files\Python38\lib\email\policy.py", line 163, in
header_fetch_parse
return self.header_factory(name, value)
File "C:\Program Files\Python38\lib\email\headerregistry.py", line
602, in __call__
return self[name](name, value)
File "C:\Program Files\Python38\lib\email\headerregistry.py", line
197, in __new__
cls.parse(value, kwds)
File "C:\Program Files\Python38\lib\email\headerregistry.py", line
344, in parse
[Address(mb.display_name or '',
File "C:\Program Files\Python38\lib\email\headerregistry.py", line
345, in <listcomp>
mb.local_part or '',
AttributeError: 'Group' object has no attribute 'local_part'
But, I know what causing this error right now. This error is the problem
from using the email policy to default.
Refer:
https://github.com/ammarfaizi2/lore-daemon/blob/91e86e6d1004da4526ca5514fa009bc253d5c4a3/daemon/atom/scraper.py#L61
I forget why I'm using `policy=email.policy.default` but I know it has a
reason! What do you think? Should we just remove
`policy=email.policy.default` or just keeping it and use the try/except
in extract_list()?
next prev parent reply other threads:[~2022-12-20 1:51 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-19 23:57 [PATCH v3 00/17] RESEND: Fix, improvement and implement a bot logger Muhammad Rizki
2022-12-19 23:57 ` [PATCH v3 01/17] discord: Fix typo on _flood_exception() Muhammad Rizki
2022-12-19 23:57 ` [PATCH v3 02/17] fix: utils: Fix .patch file payload Muhammad Rizki
2022-12-20 0:15 ` Alviro Iskandar Setiawan
2022-12-20 0:18 ` Kiizuha
2022-12-19 23:57 ` [PATCH v3 03/17] fix: utils: add a substr for the patch media caption Muhammad Rizki
2022-12-20 0:29 ` Alviro Iskandar Setiawan
2022-12-20 1:59 ` Kiizuha
2022-12-20 8:13 ` Alviro Iskandar Setiawan
2022-12-19 23:57 ` [PATCH v3 04/17] fix: utils: Fix the extract_list() utility function Muhammad Rizki
2022-12-20 0:33 ` Alviro Iskandar Setiawan
2022-12-20 0:45 ` Ammar Faizi
2022-12-20 1:15 ` Alviro Iskandar Setiawan
2022-12-20 1:56 ` Kiizuha
2022-12-20 1:53 ` Kiizuha
2022-12-20 1:51 ` Kiizuha [this message]
2022-12-20 8:15 ` Alviro Iskandar Setiawan
2022-12-19 23:57 ` [PATCH v3 05/17] utils: Back to use decode=True for the get_payload() Muhammad Rizki
2022-12-19 23:57 ` [PATCH v3 06/17] utils: Improve fix_utf8_char() Muhammad Rizki
2022-12-19 23:57 ` [PATCH v3 07/17] utils: Add catch_err() for the log message Muhammad Rizki
2022-12-19 23:57 ` [PATCH v3 08/17] logger: Initial work for the bot logger for future use Muhammad Rizki
2022-12-19 23:57 ` [PATCH v3 09/17] telegram: Use the created BotLogger() class Muhammad Rizki
2022-12-19 23:57 ` [PATCH v3 10/17] telegram: Add variable LOG_CHANNEL_ID declaration Muhammad Rizki
2022-12-19 23:57 ` [PATCH v3 11/17] telegram: Add send_log_file() in the DaemonClient() Muhammad Rizki
2022-12-19 23:57 ` [PATCH v3 12/17] telegram: Implement the log message for catching errors Muhammad Rizki
2022-12-19 23:57 ` [PATCH v3 13/17] discord: Add variable LOG_CHANNEL_ID declaration Muhammad Rizki
2022-12-19 23:57 ` [PATCH v3 14/17] discord: Use the BotLogger() to the GWClient() Muhammad Rizki
2022-12-19 23:57 ` [PATCH v3 15/17] discord: Add send_log_file in " Muhammad Rizki
2022-12-19 23:57 ` [PATCH v3 16/17] discord: Implement the catch erros and logs Muhammad Rizki
2022-12-19 23:57 ` [PATCH v3 17/17] Remove some unused imports Muhammad Rizki
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] \
[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