https://bugzilla.wikimedia.org/show_bug.cgi?id=71788
Bug ID: 71788 Summary: version.getfileversion does not work on py3, and should be rewritten Product: Pywikibot Version: unspecified Hardware: All OS: All Status: NEW Severity: minor Priority: Unprioritized Component: General Assignee: Pywikipedia-bugs@lists.wikimedia.org Reporter: jayvdb@gmail.com Web browser: --- Mobile Platform: ---
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/9ca1b85c367b381947426c261...
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)
https://bugzilla.wikimedia.org/show_bug.cgi?id=71788
John Mark Vandenberg jayvdb@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |58053
https://bugzilla.wikimedia.org/show_bug.cgi?id=71788
John Mark Vandenberg jayvdb@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Priority|Unprioritized |Low
https://bugzilla.wikimedia.org/show_bug.cgi?id=71788
John Mark Vandenberg jayvdb@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |core (2.0)
pywikipedia-bugs@lists.wikimedia.org