16 |
16 |
17 import sys |
17 import sys |
18 import os |
18 import os |
19 import importlib.machinery |
19 import importlib.machinery |
20 import re |
20 import re |
|
21 import contextlib |
21 |
22 |
22 import Utilities |
23 import Utilities |
23 from functools import reduce |
24 from functools import reduce |
24 |
25 |
25 __all__ = ["Module", "Class", "Function", "Attribute", "RbModule", |
26 __all__ = ["Module", "Class", "Function", "Attribute", "RbModule", |
1541 |
1542 |
1542 if extensions is None: |
1543 if extensions is None: |
1543 _extensions = ['.py', '.pyw', '.ptl', '.rb'] |
1544 _extensions = ['.py', '.pyw', '.ptl', '.rb'] |
1544 else: |
1545 else: |
1545 _extensions = extensions[:] |
1546 _extensions = extensions[:] |
1546 try: |
1547 with contextlib.suppress(ValueError): |
1547 _extensions.remove('.py') |
1548 _extensions.remove('.py') |
1548 except ValueError: |
|
1549 pass |
|
1550 |
1549 |
1551 modname = module |
1550 modname = module |
1552 |
1551 |
1553 if os.path.exists(module): |
1552 if os.path.exists(module): |
1554 path = [os.path.dirname(module)] |
1553 path = [os.path.dirname(module)] |