diff --git a/moulinette/interfaces/cli.py b/moulinette/interfaces/cli.py index df812738..6e1eb8cd 100644 --- a/moulinette/interfaces/cli.py +++ b/moulinette/interfaces/cli.py @@ -550,9 +550,10 @@ class Interface: if is_password: return getpass.getpass(colorize(m18n.g("colon", message), color)) elif not is_multiline: + print(colorize(m18n.g("colon", message), color), end="") set_startup_hook(lambda: insert_text(prefill)) try: - value = input(colorize(m18n.g("colon", message), color)) + value = input() finally: set_startup_hook() return value diff --git a/moulinette/utils/filesystem.py b/moulinette/utils/filesystem.py index 9b1456d9..d075b83d 100644 --- a/moulinette/utils/filesystem.py +++ b/moulinette/utils/filesystem.py @@ -119,8 +119,8 @@ def write_to_file(file_path, data, file_mode="w"): file_mode -- Mode used when writing the file. Option meant to be used by append_to_file to avoid duplicating the code of this function. """ - assert isinstance(data, str) or isinstance( - data, list + assert ( + isinstance(data, str) or isinstance(data, bytes) or isinstance(data, list) ), "Error: data '%s' should be either a string or a list but is of type '%s'" % ( data, type(data), @@ -136,7 +136,7 @@ def write_to_file(file_path, data, file_mode="w"): ) # If data is a list, check elements are strings and build a single string - if not isinstance(data, str): + if isinstance(data, list): for element in data: assert isinstance( element, str