Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall/lib/packages.py
diff options
context:
space:
mode:
Diffstat (limited to 'archinstall/lib/packages.py')
-rw-r--r--archinstall/lib/packages.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/archinstall/lib/packages.py b/archinstall/lib/packages.py
index 3a671784..29728abc 100644
--- a/archinstall/lib/packages.py
+++ b/archinstall/lib/packages.py
@@ -1,5 +1,6 @@
import urllib.request, urllib.parse
import ssl, json
+from .lib.exceptions import *
BASE_URL = 'https://www.archlinux.org/packages/search/json/?name={package}'
@@ -24,4 +25,19 @@ def find_packages(*names):
result = {}
for package in names:
result[package] = find_package(package)
- return result \ No newline at end of file
+ return result
+
+def validate_package_list(packages :list):
+ """
+ Validates a list of given packages.
+ Raises `RequirementError` if one or more packages are not found.
+ """
+ invalid_packages = []
+ for package in packages:
+ if not find_package(package)['results']:
+ invalid_packages.append(package)
+
+ if invalid_packages:
+ raise RequirementError(f"Invalid package names: {invalid_packages}")
+
+ return True \ No newline at end of file