utils/scanpypi: allow installation of commands without 'main' method
authorThomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Mon, 8 Mar 2021 13:45:40 +0000 (14:45 +0100)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 25 Jul 2021 21:43:13 +0000 (23:43 +0200)
commite43c0509442c746bea305aa2b0a5f7ff5adfd142
tree6504427ee6991cbd52c27406bfd2c58667a6652c
parentad042904f45201370b886ef5762ff75a93dc8395
utils/scanpypi: allow installation of commands without 'main' method

In case the setup.py file of a python package does not directly call the
'setup' method, utils/scanpypi was hoping there be a 'main' function which
would do the work, normally called via a construct like:

    if __name__ == '__main__':
        main()

However, this construct is nonstandard, and there are packages in PyPI which
call 'setup()' directly from the 'if' statement, without a main() method.

But scanpypi does not actually need to make such assumption: when loading
the module, it can decide the name to be '__main__', just as if setup.py
would be loaded interactively.

Additionally, remove some logic seemingly related to the previous trick of
calling 'main'. There should not be a problem in keeping already loaded
modules in sys.modules, as this is the purpose of sys.modules.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
utils/scanpypi