"""jc - JSON CLI output utility utils""" import textwrap import sys def warning_message(message): """ Prints a warning message for non-fatal issues Parameters: message: (string) text of message Returns: no return, just prints output to STDERR """ error_string = f''' jc: Warning - {message} ''' print(textwrap.dedent(error_string), file=sys.stderr) def error_message(message): """ Prints an error message for fatal issues Parameters: message: (string) text of message Returns: no return, just prints output to STDERR """ error_string = f''' jc: Error - {message} ''' print(textwrap.dedent(error_string), file=sys.stderr) def compatibility(mod_name, compatible): """Checks for the parser's compatibility with the running OS platform. Parameters: mod_name: (string) __name__ of the calling module compatible: (list) sys.platform name(s) compatible with the parser compatible options: linux, darwin, cygwin, win32, aix, freebsd Returns: no return, just prints output to STDERR """ if sys.platform not in compatible: mod = mod_name.split('.')[-1] compat_list = ', '.join(compatible) warning_message(f'{mod} parser not compatible with your OS ({sys.platform}).\n Compatible platforms: {compat_list}')