Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archinstall/lib/profiles.py12
-rw-r--r--archinstall/lib/user_interaction.py3
2 files changed, 14 insertions, 1 deletions
diff --git a/archinstall/lib/profiles.py b/archinstall/lib/profiles.py
index d4913e7e..8434a0ab 100644
--- a/archinstall/lib/profiles.py
+++ b/archinstall/lib/profiles.py
@@ -228,6 +228,18 @@ class Profile(Script):
# since developers like less code - omitting it should assume they want to present it.
return True
+ def get_profile_description(self):
+ with open(self.path, 'r') as source:
+ source_data = source.read()
+
+ if '__description__' in source_data:
+ with self.load_instructions(namespace=f"{self.namespace}.py") as imported:
+ if hasattr(imported, '__description__'):
+ return imported.__description__
+
+ # Default to this string if the profile does not have a description.
+ return "This profile does not have the __description__ attribute set."
+
@property
def packages(self) -> Optional[list]:
"""
diff --git a/archinstall/lib/user_interaction.py b/archinstall/lib/user_interaction.py
index 79919658..004d81be 100644
--- a/archinstall/lib/user_interaction.py
+++ b/archinstall/lib/user_interaction.py
@@ -575,7 +575,8 @@ def select_profile():
if len(shown_profiles) >= 1:
for index, profile in enumerate(shown_profiles):
- print(f"{index}: {profile}")
+ description = Profile(None, profile).get_profile_description()
+ print(f"{index}: {profile}: {description}")
print(' -- The above list is a set of pre-programmed profiles. --')
print(' -- They might make it easier to install things like desktop environments. --')