diff --git a/hyfetch/main.py b/hyfetch/main.py index 714b5aeb..4fd2120b 100755 --- a/hyfetch/main.py +++ b/hyfetch/main.py @@ -10,7 +10,7 @@ from typing import Iterable from math import ceil from .color_util import printc, color, clear_screen -from .constants import CONFIG_PATH, VERSION, TERM_LEN, TERM_LINES, TEST_ASCII_WIDTH, TEST_ASCII, GLOBAL_CFG +from .constants import * from .models import Config from .neofetch_util import run_neofetch, get_distro_ascii, ColorAlignment, ascii_size, get_fore_back from .presets import PRESETS @@ -137,39 +137,29 @@ def create_config() -> Config: flags_per_row = TERM_LEN // (spacing + 2) row_per_page = (TERM_LINES - 13) // 5 num_pages = ceil(len(flags) / (flags_per_row * row_per_page)) - print(num_pages) + # Create pages pages = [] - done = False - for i in range(0, num_pages): + for i in range(num_pages): page = [] - for j in range(0, row_per_page): - row = [] - for k in range(0, flags_per_row): - try: - row.append(flags[0]) - flags = flags[1:] - except IndexError: - done = True - break - page.append(row) - if done: + for j in range(row_per_page): + page.append(flags[:flags_per_row]) + flags = flags[flags_per_row:] + if not flags: break pages.append(page) - def print_flag_page(page, page_num): + def print_flag_page(page: list[list[list[str]]], page_num: int): clear_screen(title) printc('&a3. Let\'s choose a flag!') printc('Available flag presets:') - print('Page: ' + str(page_num + 1) + ' of ' + str(num_pages)) + print(f'Page: {page_num + 1} of {num_pages}') print() - for i in page: print_flag_row(i) - print() - def print_flag_row(current): + def print_flag_row(current: list[list[str]]): [printc(' '.join(line)) for line in zip(*current)] print() @@ -183,7 +173,7 @@ def create_config() -> Config: opts.append('next') if page > 0: opts.append('prev') - print("Enter \'next\' to go to the next page and \'prev\' to go to the previous page.") + print("Enter 'next' to go to the next page and 'prev' to go to the previous page.") preset = literal_input(f'Which {tmp} do you want to use? ', opts, 'rainbow', show_ops=False) if preset == 'next': page += 1 @@ -192,7 +182,7 @@ def create_config() -> Config: else: _prs = PRESETS[preset] title += f'\n&e3. Selected flag: &r{_prs.color_text(preset)}' - break; + break ############################# # 4. Dim/lighten colors