Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall/lib/plugins.py
diff options
context:
space:
mode:
Diffstat (limited to 'archinstall/lib/plugins.py')
-rw-r--r--archinstall/lib/plugins.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/archinstall/lib/plugins.py b/archinstall/lib/plugins.py
index 027b58d5..e61c114e 100644
--- a/archinstall/lib/plugins.py
+++ b/archinstall/lib/plugins.py
@@ -7,6 +7,7 @@ import pathlib
import urllib.parse
import urllib.request
from importlib import metadata
+from typing import ModuleType, Optional, List
from .output import log
from .storage import storage
@@ -38,7 +39,7 @@ def localize_path(profile_path :str) -> str:
return profile_path
-def import_via_path(path :str, namespace=None): # -> module (not sure how to write that in type definitions)
+def import_via_path(path :str, namespace :Optional[str] = None) -> ModuleType:
if not namespace:
namespace = os.path.basename(path)
@@ -62,14 +63,14 @@ def import_via_path(path :str, namespace=None): # -> module (not sure how to wri
except:
pass
-def find_nth(haystack, needle, n):
+def find_nth(haystack :List[str], needle :str, n :int) -> int:
start = haystack.find(needle)
while start >= 0 and n > 1:
start = haystack.find(needle, start + len(needle))
n -= 1
return start
-def load_plugin(path :str): # -> module (not sure how to write that in type definitions)
+def load_plugin(path :str) -> ModuleType:
parsed_url = urllib.parse.urlparse(path)
# The Profile was not a direct match on a remote URL