On 3/27/22 18:12, Peter Otten wrote: > 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... >
Great. I wasn't aware of --strict. Regarding 'slippery slope': I anyway would only fix what I believe is an error. Thanks. -- Manfred -- https://mail.python.org/mailman/listinfo/python-list