Branch: refs/heads/develop Home: https://github.com/pyinstaller/pyinstaller Commit: 76dc01253ea9560d52759de931a3af80e47845d4 https://github.com/pyinstaller/pyinstaller/commit/76dc01253ea9560d52759de931a3af80e47845d4 Author: leycec <ley...@gmail.com> Date: 2016-06-29 (Wed, 29 Jun 2016)
Changed paths: M PyInstaller/lib/modulegraph/modulegraph.py Log Message: ----------- ModuleGraph: Significantly refactored. The "PyInstaller.lib.modulegraph" library has been significantly refactored, fixing #1919 and improving readability and maintainability. Attributes imported via "from"-style importations (e.g., the "bar" in "from foo import bar") are now properly disambiguated as either non-ignorable package submodules or ignorable global attributes defined within "__init__" package submodules, fixing #1919. To improve the accuracy of this disambiguation, deletions of previously defined global attributes are now parsed and handled. Most methods in the "ModuleGraph" class now sport NumpyDoc-formatted docstrings delineating method parameters, return values, and raised exceptions, as well as internal line-by-line commentary on method operation. Various non-human-readable method parameters and local variables have been renamed for readability and disambiguity, particularly those that previously had single- and double-letter names (e.g., "m", "q", "sm"). Various non-human-readable magic numbers have been replaced by human-readable global constants declared at the top of this module, also sporting NumpyDoc-formatted docstrings. Various repetitious methods and repetitious logic in these methods has been eliminated, including the complete elimination of the _scan_bytecode_stores() method. In short, "ModuleGraph" is now maintainable by human beings. Commit: fb4a84ed340608961d6fbffcfe5e02ca7f6b8288 https://github.com/pyinstaller/pyinstaller/commit/fb4a84ed340608961d6fbffcfe5e02ca7f6b8288 Author: leycec <ley...@gmail.com> Date: 2016-06-29 (Wed, 29 Jun 2016) Changed paths: M PyInstaller/building/imphook.py Log Message: ----------- ModuleGraph: External method call rewritten. A single external call to the ModuleGraph.import_hook() method by the ModuleHook._process_hidden_imports() method has been refactored to comply with ModuleGraph's human-readable API. Commit: 6842df85c935f4a3b3984a422054076a08a058ea https://github.com/pyinstaller/pyinstaller/commit/6842df85c935f4a3b3984a422054076a08a058ea Author: leycec <ley...@gmail.com> Date: 2016-06-29 (Wed, 29 Jun 2016) Changed paths: M PyInstaller/compat.py Log Message: ----------- ModuleGraph: "RuntimePackage" nodes supported. The "PyInstaller.compat" module now recognizes the newly added "RuntimePackage" graph node type as both "SPECIAL_MODULE_TYPES" and "BAD_MODULE_TYPES", much like the existing "RuntimeModule" graph node type. Commit: bc5117cd56d5a6fc5a34e4edacccfda7ff2daf75 https://github.com/pyinstaller/pyinstaller/commit/bc5117cd56d5a6fc5a34e4edacccfda7ff2daf75 Author: leycec <ley...@gmail.com> Date: 2016-06-29 (Wed, 29 Jun 2016) Changed paths: M PyInstaller/building/imphookapi.py M PyInstaller/hooks/pre_safe_import_module/hook-six.moves.py Log Message: ----------- Hooks: add_runtime_package() method added. A new PreSafeImportModuleAPI.add_runtime_package() method has been added, permitting pre-safe import module hooks to dynamically define in-memory packages at runtime. Unlike runtime modules addable by the related add_runtime_module() method, ModuleGraph treats attributes imported in "from"-style import statements from runtime packages as possible non-ignorable submodules rather than ignorable non-module globals -- permitting submodules to be imported from these packages. For this reason, the "six.moves" pre-safe import module hook now calls add_runtime_package() rather than add_runtime_module(). Commit: 9affadf12a98fe23066a22ff45630fee065334c9 https://github.com/pyinstaller/pyinstaller/commit/9affadf12a98fe23066a22ff45630fee065334c9 Author: leycec <ley...@gmail.com> Date: 2016-06-29 (Wed, 29 Jun 2016) Changed paths: M tests/functional/test_hooks/test_scipy.py Log Message: ----------- Tests: test_scipy_special() unskipped. The test_scipy_special() test now succeeds and is no longer marked with skip(). Commit: a201f3fb56477abad8eb91c4820393c824cfe6c8 https://github.com/pyinstaller/pyinstaller/commit/a201f3fb56477abad8eb91c4820393c824cfe6c8 Author: leycec <ley...@gmail.com> Date: 2016-06-29 (Wed, 29 Jun 2016) Changed paths: A tests/functional/modules/pyi_testmod_submodule_global_shadowed/__init__.py A tests/functional/modules/pyi_testmod_submodule_global_shadowed/submodule.py A tests/functional/modules/pyi_testmod_submodule_global_unshadowed/__init__.py A tests/functional/modules/pyi_testmod_submodule_global_unshadowed/submodule.py M tests/functional/test_import.py Log Message: ----------- Tests: Tests exercising #1919 added. The new test_import_submodule_global_shadowed() and test_import_submodule_global_unshadowed() tests now fully exercise #1919, including subtle edge cases. Commit: a909f1a91f17e43bb909a5dae1a6b451bb98b728 https://github.com/pyinstaller/pyinstaller/commit/a909f1a91f17e43bb909a5dae1a6b451bb98b728 Author: Bryan A. Jones <bjo...@ece.msstate.edu> Date: 2016-06-30 (Thu, 30 Jun 2016) Changed paths: M PyInstaller/building/imphook.py M PyInstaller/building/imphookapi.py M PyInstaller/compat.py M PyInstaller/hooks/pre_safe_import_module/hook-six.moves.py M PyInstaller/lib/modulegraph/modulegraph.py A tests/functional/modules/pyi_testmod_submodule_global_shadowed/__init__.py A tests/functional/modules/pyi_testmod_submodule_global_shadowed/submodule.py A tests/functional/modules/pyi_testmod_submodule_global_unshadowed/__init__.py A tests/functional/modules/pyi_testmod_submodule_global_unshadowed/submodule.py M tests/functional/test_hooks/test_scipy.py M tests/functional/test_import.py Log Message: ----------- Merge pull request #1991 from leycec/scipyattr Shadows over ModuleGraph: Scaling the Impenetrable Wall of Bugs Compare: https://github.com/pyinstaller/pyinstaller/compare/8689a5da7741...a909f1a91f17 -- You received this message because you are subscribed to the Google Groups "PyInstaller" group. To unsubscribe from this group and stop receiving emails from it, send an email to pyinstaller+unsubscr...@googlegroups.com. To post to this group, send email to pyinstaller@googlegroups.com. Visit this group at https://groups.google.com/group/pyinstaller. For more options, visit https://groups.google.com/d/optout.