Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Hvornum <anton@hvornum.se>2021-06-02 22:59:31 +0200
committerGitHub <noreply@github.com>2021-06-02 22:59:31 +0200
commitbedc5cd13277e23141fbd1b491e14ffde106d9f5 (patch)
tree1f20ca3e1fe648cb466274ae8dc9cad4127bd06d
parent7b0863f2899812607f064c0b76c9347410302726 (diff)
parent81269b972c07fefe7cc7bcc923b5f8189bc757df (diff)
Merge pull request #540 from dylanmtaylor/description
Add a description to top-level profile listing
-rw-r--r--archinstall/lib/profiles.py12
-rw-r--r--archinstall/lib/user_interaction.py4
2 files changed, 14 insertions, 2 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..b52267d9 100644
--- a/archinstall/lib/user_interaction.py
+++ b/archinstall/lib/user_interaction.py
@@ -575,11 +575,11 @@ 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. --')
- print(' -- The desktop profile will let you select a DE/WM profile, e.g gnome, kde, sway --')
print(' -- (Leave blank and hit enter to skip this step and continue) --')
selected_profile = generic_select(actual_profiles_raw, 'Enter a pre-programmed profile name if you want to install one: ', options_output=False)