From 293bc42b8280e8dd3bea079519e64a6da54535fc Mon Sep 17 00:00:00 2001 From: Anatoly Date: Sun, 11 Apr 2021 03:00:48 +0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Cleaner=20getch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/main.py b/main.py index 26a46f9..b131dcd 100644 --- a/main.py +++ b/main.py @@ -11,8 +11,24 @@ from print_logo import print_logo if platform.system() == 'Windows': import msvcrt + def uni_getch(): + char = str(msvcrt.getch()) + if char == "b'y'": + return True + elif char == "b'n'": + return False + else: + return None else: from getch import getch + def uni_getch(): + char = getch() + if char == "y": + return True + elif char == "n": + return False + else: + return None parser = argparse.ArgumentParser() parser.add_argument('-i', '--input', action='store', type=str, @@ -50,26 +66,15 @@ else: curr_channel += 1 c.print(f'[dim][{curr_channel}/{len(all_channels)}]:[/dim] {ch["title"]} [cyan]\[y/n]') while True: - if platform.system() == 'Windows': - key = str(msvcrt.getch()) - if key == "b'y'": - ch['download'] = True - break - elif key == "b'n'": - ch['download'] = False - break - else: - c.print('Press "y" or "n"', style='yellow') + key = uni_getch() + if key == True: + ch['download'] = True + break + elif key == False: + ch['download'] = False + break else: - key = getch() - if key == "y": - ch['download'] = True - break - elif key == "n": - ch['download'] = False - break - else: - c.print('Press "y" or "n"', style='yellow') + c.print('Press "y" or "n"', style='yellow') c.print('All done! 🎉') c.print('Saving to download_list.json...', style='italic')