frappe/__init__.py we see three lines:
if conf.get("logging") or False:
no_cache = conf.developer_mode or False
return flags.mute_emails or cint(conf.get("mute_emails") or 0) or False
I see that if the first condition(s) is falsey, the or False will force the expression to be boolean False.
Why is this necessary?
is it possible to drop or False?
Is this a nice technique? if so, what is the purpose? Thanks
It’s a bad practice, and I can imagine why someone did that!
Probably there’s a code somewhere that say
if x is False instead of
if not x these codes looks doing the same thing but I’m the first case it evaluates the
identity while the second evaluates the
So again it’s an bad practice for Python, but I don’t think is just easy to remove, some test cases will be needed to ensure that there’s no identity checking.