mirror of https://github.com/VLSIDA/OpenRAM.git
Use for/else in custom_module_finder
This commit is contained in:
parent
b884fb36c3
commit
5fe784ab14
30
__init__.py
30
__init__.py
|
|
@ -60,26 +60,26 @@ class custom_module_finder(MetaPathFinder):
|
||||||
# Skip if the package is not openram
|
# Skip if the package is not openram
|
||||||
if package_name != "openram":
|
if package_name != "openram":
|
||||||
return None
|
return None
|
||||||
customizable = False
|
|
||||||
# Search for the module name in customizable modules
|
# Search for the module name in customizable modules
|
||||||
from openram import OPTS
|
from openram import OPTS
|
||||||
for k, v in OPTS.__dict__.items():
|
for k, v in OPTS.__dict__.items():
|
||||||
if module_name == v:
|
if module_name == v:
|
||||||
customizable = True
|
break
|
||||||
|
else:
|
||||||
|
return None
|
||||||
# Search for the custom module
|
# Search for the custom module
|
||||||
if customizable:
|
import sys
|
||||||
import sys
|
# Try to find the module in sys.path
|
||||||
# Try to find the module in sys.path
|
for path in sys.path:
|
||||||
for path in sys.path:
|
# Skip this path if not directory
|
||||||
# Skip this path if not directory
|
if not os.path.isdir(path):
|
||||||
if not os.path.isdir(path):
|
continue
|
||||||
continue
|
for file in os.listdir(path):
|
||||||
for file in os.listdir(path):
|
# If there is a script matching the custom module name,
|
||||||
# If there is a script matching the custom module name,
|
# import it with the default module name
|
||||||
# import it with the default module name
|
if file == (module_name + ".py"):
|
||||||
if file == (module_name + ".py"):
|
from importlib.util import spec_from_file_location
|
||||||
from importlib.util import spec_from_file_location
|
return spec_from_file_location(module_name, "{0}/{1}.py".format(path, module_name))
|
||||||
return spec_from_file_location(module_name, "{0}/{1}.py".format(path, module_name))
|
|
||||||
return None
|
return None
|
||||||
# Python calls meta path finders and asks them to handle the module import if
|
# Python calls meta path finders and asks them to handle the module import if
|
||||||
# they can
|
# they can
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue