Last modified: 2014-11-15 06:42:35 UTC
In verbose logging, the log is supposed to contain a list of the pywikibot modules loaded at startup, however on py3 it logs not modules. The problem is the eval does not set local variable __version__ http://git.wikimedia.org/blob/pywikibot%2Fcore.git/9ca1b85c367b381947426c2615f4ab246e497518/pywikibot%2Fversion.py#L275 In addition, the algorithm is dodgy. It checks every module name to see if it is a part of pywikibot, which is problematic if pywikibot has a module which has the same name as another package, and this approach also unnecessarily tries to stat many files which will not exist. If it does find a pywikibot file, it reads the file to find __version__ even though Python has already loaded the module. it then exec's the first line which contains __version__, assuming it is an assignment to __version__. module versions could be merged into version.package_versions(), as it already supports different types of entries (builtins, standard library)