Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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
1 change: 1 addition & 0 deletions create_requirement_images.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ def asset_path(asset_name):
"txt": file_empty_icon,
"toml": file_icon,
"bmp": file_image_icon,
"png": file_image_icon,
"wav": file_music_icon,
"mp3": file_music_icon,
"mid": file_music_icon,
Expand Down
19 changes: 18 additions & 1 deletion get_imports.py
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@ def get_files_for_project(project_name):


def get_libs_for_project(project_name):
# pylint: disable=too-many-nested-blocks
"""Get the set of libraries for a learn project"""
found_libs = set()
found_imports = []
Expand All @@ -173,12 +174,28 @@ def get_libs_for_project(project_name):
if file.endswith(".py"):

found_imports = findimports.find_imports(f"{project_dir}{file}")

for cur_import in found_imports:
cur_lib = cur_import.name.split(".")[0]
if cur_lib in bundle_data or cur_lib in community_bundle_data:
found_libs.add(cur_lib)

# check if it's a wildcard import e.g.
# from module.submodule import *
if cur_import.name.endswith(".*"):
filepath = os.path.join(
project_dir,
os.path.join(*cur_import.name[:-2].split(".")) + ".py",
)
if os.path.exists(filepath):
second_level_imports = findimports.find_imports(filepath)
for cur_second_level_import in second_level_imports:
cur_lib = cur_second_level_import.name.split(".")[0]
if (
cur_lib in bundle_data
or cur_lib in community_bundle_data
):
found_libs.add(cur_lib)

return found_libs


Expand Down