summaryrefslogtreecommitdiff
path: root/bootstrap.py
diff options
context:
space:
mode:
authorScott <[email protected]>2022-02-02 09:14:12 -0800
committerScott <[email protected]>2022-02-02 09:14:12 -0800
commita4bf4d05230474ad14243d67ac7f8c938f670e58 (patch)
tree673fb8bea628ce51b942d93ba5df433732c7384e /bootstrap.py
parent971d4ba141459f78d10d5770b9459d1ead7d49a0 (diff)
More type annotations.
Diffstat (limited to 'bootstrap.py')
-rw-r--r--bootstrap.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/bootstrap.py b/bootstrap.py
index e50cb38..98da78c 100644
--- a/bootstrap.py
+++ b/bootstrap.py
@@ -3,7 +3,9 @@
import functools
import logging
import os
+import importlib
from inspect import stack
+from typing import List
import sys
# This module is commonly used by others in here and should avoid
@@ -99,7 +101,7 @@ def handle_uncaught_exception(exc_type, exc_value, exc_tb):
original_hook(exc_type, exc_value, exc_tb)
-class ImportInterceptor(object):
+class ImportInterceptor(importlib.abc.MetaPathFinder):
def __init__(self):
import collect.trie
@@ -120,6 +122,11 @@ class ImportInterceptor(object):
def should_ignore_filename(self, filename: str) -> bool:
return 'importlib' in filename or 'six.py' in filename
+ def find_module(self, fullname, path):
+ raise Exception(
+ "This method has been deprecated since Python 3.4, please upgrade."
+ )
+
def find_spec(self, loaded_module, path=None, target=None):
s = stack()
for x in range(3, len(s)):
@@ -147,6 +154,9 @@ class ImportInterceptor(object):
logger.debug(msg)
print(msg)
+ def invalidate_caches(self):
+ pass
+
def find_importer(self, module: str):
if module in self.tree_node_by_module:
node = self.tree_node_by_module[module]
@@ -166,7 +176,7 @@ import_interceptor = None
for arg in sys.argv:
if arg == '--audit_import_events':
import_interceptor = ImportInterceptor()
- sys.meta_path = [import_interceptor] + sys.meta_path
+ sys.meta_path.insert(0, import_interceptor)
def dump_all_objects() -> None: