Add description to profile listing

This commit is contained in:
Dylan Taylor 2021-06-02 16:51:57 -04:00
parent 7b0863f289
commit f88da81645
2 changed files with 14 additions and 1 deletions

View File

@ -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]:
"""

View File

@ -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. --')