On 27/03/2022 11:24, Manfred Lotz wrote:
Let's say I have a Python app and have used an undefined method somewhere. Let
us further assume I have not detected it thru my tests.
Is there a way to detect it before deploying the app? pylint doesn't notice it.
Minimal example:
#!/usr/bin/env python3
import logging
from logging import Logger
from random import randrange
def main():
"""
Below logger.err gives
'Logger' object has no attribute 'err'
"""
logger = logging.getLogger('sample')
logger.setLevel(logging.DEBUG)
handler = logging.StreamHandler()
logger.addHandler(handler)
num = randrange(0,1000)
if num == 0:
logger.err("got zero")
else:
logger.info(f'got a positive integer: {num}')
if __name__ == "__main__":
main()
mypy --strict will find that one. Be warned though that this is a
slippery slope: you may end up fixing quite a few non-errors...
--
https://mail.python.org/mailman/listinfo/python-list