Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions example/import_test_project/init.py

This file was deleted.

1 change: 0 additions & 1 deletion example/import_test_project/init_file_folder/__init__.py

This file was deleted.

This file was deleted.

2 changes: 2 additions & 0 deletions example/import_test_project/package_star/A.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
def cobia():
print ("A")
2 changes: 2 additions & 0 deletions example/import_test_project/package_star/B.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
def al():
print ("B")
3 changes: 3 additions & 0 deletions example/import_test_project/package_star/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from . import A
from . import B
from . import folder
2 changes: 2 additions & 0 deletions example/import_test_project/package_star/folder/C.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
def pastor():
print ("C")
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import C
2 changes: 2 additions & 0 deletions example/import_test_project/package_star_with_alias/A.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
def cobia():
print ("A")
2 changes: 2 additions & 0 deletions example/import_test_project/package_star_with_alias/B.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
def al():
print ("B")
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from . import A as husk
from . import B as meringue
from . import folder as corn
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
def pastor():
print ("C")
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import C as mousse
1 change: 1 addition & 0 deletions example/import_test_project/package_with_file/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .nested_folder_without_init import Starbucks
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
def Tea():
print ("Teavana Green")
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .nested_folder_without_init import Starbucks as Eataly
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
def Tea():
print ("Teavana Green")
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import nested_folder_with_init
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import moose
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
def fast():
print ("real fast")
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import nested_folder_with_init as heyo
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import moose
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
def fast():
print ("real fast")
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .nested_folder_with_init import StarbucksVisitor
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
def StarbucksVisitor():
print ("Iced Mocha")
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .nested_folder_with_init import StarbucksVisitor as EatalyVisitor
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .starbucks import StarbucksVisitor
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
def StarbucksVisitor():
print ("Iced Mocha")
6 changes: 6 additions & 0 deletions example/import_test_project/test_from_file_import_star.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from A import *


B("60")
C("minute")
D("IPA")
6 changes: 6 additions & 0 deletions example/import_test_project/test_from_package_import_star.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from package_star import *


A.cobia()
B.al()
folder.C.pastor()
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from package_star_with_alias import *


husk.cobia()
meringue.al()
corn.mousse.pastor()
4 changes: 4 additions & 0 deletions example/import_test_project/test_from_package_with_file.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
from package_with_file import Starbucks


Starbucks.Tea()
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
from package_with_file_and_alias import Eataly


Eataly.Tea()
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
from package_with_function import StarbucksVisitor


StarbucksVisitor()
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
from package_with_function_and_alias import EatalyVisitor


EatalyVisitor()
4 changes: 4 additions & 0 deletions example/import_test_project/test_package_with_file.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import package_with_file


package_with_file.Starbucks.Tea()
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import package_with_file_and_alias


package_with_file_and_alias.Eataly.Tea()
3 changes: 3 additions & 0 deletions example/import_test_project/test_package_with_folder.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import package_with_folder

package_with_folder.nested_folder_with_init.moose.fast()
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import package_with_folder_and_alias

package_with_folder_and_alias.heyo.moose.fast()
4 changes: 4 additions & 0 deletions example/import_test_project/test_package_with_function.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import package_with_function


package_with_function.StarbucksVisitor()
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import package_with_function_and_alias


package_with_function_and_alias.EatalyVisitor()
70 changes: 70 additions & 0 deletions pyt/alias_helper.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
"""This module contains helper functions for the interprocedural_cfg module."""

def as_alias_handler(alias_list):
"""Returns a list of all the names that will be called."""
list_ = list()
for alias in alias_list:
if alias.asname:
list_.append(alias.asname)
else:
list_.append(alias.name)
return list_

def handle_aliases_in_calls(name, import_alias_mapping):
"""Returns either None or the handled alias.
Used in add_module.
"""
for key, val in import_alias_mapping.items():
# e.g. Foo == Foo
# e.g. Foo.Bar startswith Foo.
if name == key or \
name.startswith(key + '.'):

# Replace key with val in name
# e.g. StarbucksVisitor.Tea -> Eataly.Tea because
# "from .nested_folder import StarbucksVisitor as Eataly"
return name.replace(key, val)
return None

def handle_aliases_in_init_files(name, import_alias_mapping):
"""Returns either None or the handled alias.
Used in add_module.
"""
for key, val in import_alias_mapping.items():
# e.g. Foo == Foo
# e.g. Foo.Bar startswith Foo.
if name == val or \
name.startswith(val + '.'):

# Replace val with key in name
# e.g. StarbucksVisitor.Tea -> Eataly.Tea because
# "from .nested_folder import StarbucksVisitor as Eataly"
return name.replace(val, key)
return None

def handle_fdid_aliases(module_or_package_name, import_alias_mapping):
"""Returns either None or the handled alias.
Used in add_module.
fdid means from directory import directory.
"""
for key, val in import_alias_mapping.items():
if module_or_package_name == val:
return key
return None

def not_as_alias_handler(names_list):
"""Returns a list of names ignoring any aliases."""
list_ = list()
for alias in names_list:
list_.append(alias.name)
return list_

def retrieve_import_alias_mapping(names_list):
"""Creates a dictionary mapping aliases to their respective name.
import_alias_names is used in module_definitions.py and visit_Call"""
import_alias_names = {}

for alias in names_list:
if alias.asname:
import_alias_names[alias.asname] = alias.name
return import_alias_names
64 changes: 0 additions & 64 deletions pyt/cfg.py

This file was deleted.

Loading