From 3111ce6aae9ff686da418ce6f144d77c5d552201 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Fri, 2 Sep 2022 20:43:19 -0400 Subject: [PATCH] mconf: Use mlog.log() instead of print() This will allow using colors and redirect print into a pager. --- mesonbuild/mconf.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/mesonbuild/mconf.py b/mesonbuild/mconf.py index 227da6dbc..9f2d516b3 100644 --- a/mesonbuild/mconf.py +++ b/mesonbuild/mconf.py @@ -119,13 +119,13 @@ class Conf: for line in zip(self.name_col, self.value_col, self.choices_col, self.descr_col): if not any(line): - print('') + mlog.log('') continue # This is a header, like `Subproject foo:`, # We just want to print that and get on with it if line[0] and not any(line[1:]): - print(line[0]) + mlog.log(line[0]) continue # wrap will take a long string, and create a list of strings no @@ -140,13 +140,13 @@ class Conf: for l in itertools.zip_longest(name, val, choice, desc, fillvalue=''): # We must use the length modifier here to get even rows, as # `textwrap.wrap` will only shorten, not lengthen each item - print('{:{widths[0]}} {:{widths[1]}} {:{widths[2]}} {}'.format(*l, widths=four_column)) + mlog.log('{:{widths[0]}} {:{widths[1]}} {:{widths[2]}} {}'.format(*l, widths=four_column)) else: name = textwrap.wrap(line[0], three_column[0]) val = textwrap.wrap(line[1], three_column[1]) desc = textwrap.wrap(line[3], three_column[2]) for l in itertools.zip_longest(name, val, desc, fillvalue=''): - print('{:{widths[0]}} {:{widths[1]}} {}'.format(*l, widths=three_column)) + mlog.log('{:{widths[0]}} {:{widths[1]}} {}'.format(*l, widths=three_column)) def split_options_per_subproject(self, options: 'coredata.KeyedOptionDictType') -> T.Dict[str, 'coredata.KeyedOptionDictType']: result: T.Dict[str, 'coredata.KeyedOptionDictType'] = {} @@ -225,12 +225,12 @@ class Conf: if self.default_values_only: print_default_values_warning() - print('') + mlog.log('') - print('Core properties:') - print(' Source dir', self.source_dir) + mlog.log('Core properties:') + mlog.log(' Source dir', self.source_dir) if not self.default_values_only: - print(' Build dir ', self.build_dir) + mlog.log(' Build dir ', self.build_dir) dir_option_names = set(coredata.BUILTIN_DIR_OPTIONS) test_option_names = {OptionKey('errorlogs'), @@ -293,7 +293,7 @@ class Conf: # Print the warning twice so that the user shouldn't be able to miss it if self.default_values_only: - print('') + mlog.log('') print_default_values_warning() self.print_nondefault_buildtype_options() @@ -302,10 +302,10 @@ class Conf: mismatching = self.coredata.get_nondefault_buildtype_args() if not mismatching: return - print("\nThe following option(s) have a different value than the build type default\n") - print(' current default') + mlog.log("\nThe following option(s) have a different value than the build type default\n") + mlog.log(' current default') for m in mismatching: - print(f'{m[0]:21}{m[1]:10}{m[2]:10}') + mlog.log(f'{m[0]:21}{m[1]:10}{m[2]:10}') def run(options): coredata.parse_cmd_line_options(options) @@ -332,7 +332,7 @@ def run(options): mintro.update_build_options(c.coredata, c.build.environment.info_dir) mintro.write_meson_info_file(c.build, []) except ConfException as e: - print('Meson configurator encountered an error:') + mlog.log('Meson configurator encountered an error:') if c is not None and c.build is not None: mintro.write_meson_info_file(c.build, [e]) raise e