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.

Reply via email to