mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-12-24 00:31:11 +02:00
63 lines
1.4 KiB
Python
63 lines
1.4 KiB
Python
"""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}')
|