Skip to content

Commit 81bbcdd

Browse files
committed
add colors to print statements
1 parent 47456c8 commit 81bbcdd

File tree

2 files changed

+24
-12
lines changed

2 files changed

+24
-12
lines changed

src/diffpy/cmi/packsmanager.py

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,20 @@
2828
__all__ = ["PacksManager", "get_package_dir"]
2929

3030

31+
class Styles:
32+
RESET = "\033[0m"
33+
# styles
34+
BOLD = "\033[1m"
35+
UNDER = "\033[4m"
36+
# colors
37+
RED = "\033[31m"
38+
GREEN = "\033[32m"
39+
YELLOW = "\033[33m"
40+
BLUE = "\033[34m"
41+
MAGENTA = "\033[35m"
42+
CYAN = "\033[36m"
43+
44+
3145
def get_package_dir(root_path=None):
3246
"""Get the package directory as a context manager.
3347
@@ -353,20 +367,19 @@ def install_pack(self, identifier: str | Path) -> None:
353367
def print_packs(self) -> None:
354368
"""Print information about available packs."""
355369
uninstalled_packs, installed_packs = [], []
370+
s = Styles()
356371
for pack in self.available_packs():
357372
if self.check_pack(pack):
358373
installed_packs.append(pack)
359374
else:
360375
uninstalled_packs.append(pack)
361-
print("Installed Packs:")
362-
print("----------------")
376+
print(f"{s.BOLD}{s.UNDER}{s.BLUE}Installed Packs:{s.RESET}")
363377
for pack in installed_packs:
364378
if not installed_packs:
365379
print(" (none)")
366380
else:
367381
print(f" {pack}")
368-
print("\nAvailable Packs:")
369-
print("----------------")
382+
print(f"\n{s.BOLD}{s.UNDER}{s.BLUE}Available Packs:{s.RESET}")
370383
if not uninstalled_packs:
371384
print(" (all packs installed)")
372385
else:
@@ -375,11 +388,11 @@ def print_packs(self) -> None:
375388

376389
def print_examples(self) -> None:
377390
"""Print information about available examples."""
378-
print("\nExamples:")
379-
print("---------")
391+
s = Styles()
392+
print(f"\n{s.BOLD}{s.UNDER}{s.CYAN}Examples:{s.RESET}")
380393
examples_dict = self.available_examples()
381394
for pack, examples in examples_dict.items():
382-
print(f" {pack}:")
395+
print(f" {s.BOLD}{pack}:{s.RESET}")
383396
for ex_name, _ in examples:
384397
print(f" - {ex_name}")
385398

src/diffpy/cmi/profilesmanager.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
presence_check,
2727
)
2828
from diffpy.cmi.log import plog
29-
from diffpy.cmi.packsmanager import PacksManager, get_package_dir
29+
from diffpy.cmi.packsmanager import PacksManager, Styles, get_package_dir
3030

3131
__all__ = ["Profile", "ProfilesManager"]
3232

@@ -234,21 +234,20 @@ def install(self, identifier: Union[str, Path]) -> None:
234234

235235
def print_profiles(self) -> None:
236236
"""Print available and installed profiles."""
237+
s = Styles()
237238
installed_profiles, uninstalled_profiles = [], []
238239
for profile_name in self.available_profiles():
239240
if self.check_profile(profile_name):
240241
installed_profiles.append(profile_name)
241242
else:
242243
uninstalled_profiles.append(profile_name)
243-
print("\nInstalled Profiles:")
244-
print("-------------------")
244+
print(f"\n{s.BOLD}{s.UNDER}{s.MAGENTA}Installed Profiles:{s.RESET}")
245245
if not installed_profiles:
246246
print(" (none)")
247247
else:
248248
for profile in installed_profiles:
249249
print(f" {profile}")
250-
print("\nAvailable Profiles:")
251-
print("-------------------")
250+
print(f"\n{s.BOLD}{s.UNDER}{s.MAGENTA}Available Profiles:{s.RESET}")
252251
if not uninstalled_profiles:
253252
print(" (all profiles installed)")
254253
else:

0 commit comments

Comments
 (0)