mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-07-15 01:24:29 +02:00
C locale fixes
This commit is contained in:
15
jc/cli.py
15
jc/cli.py
@ -4,6 +4,7 @@ JC cli module
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
|
import locale
|
||||||
import textwrap
|
import textwrap
|
||||||
import signal
|
import signal
|
||||||
import shlex
|
import shlex
|
||||||
@ -30,6 +31,13 @@ except Exception:
|
|||||||
|
|
||||||
JC_ERROR_EXIT = 100
|
JC_ERROR_EXIT = 100
|
||||||
|
|
||||||
|
try:
|
||||||
|
UTF_8_SUPPORT = bool(locale.getlocale()[1] == 'UTF-8')
|
||||||
|
except Exception:
|
||||||
|
UTF_8_SUPPORT = False
|
||||||
|
|
||||||
|
CPR = '©' if UTF_8_SUPPORT else '(c)'
|
||||||
|
|
||||||
|
|
||||||
class info():
|
class info():
|
||||||
version = __version__
|
version = __version__
|
||||||
@ -37,7 +45,7 @@ class info():
|
|||||||
author = 'Kelly Brazil'
|
author = 'Kelly Brazil'
|
||||||
author_email = 'kellyjonbrazil@gmail.com'
|
author_email = 'kellyjonbrazil@gmail.com'
|
||||||
website = 'https://github.com/kellyjonbrazil/jc'
|
website = 'https://github.com/kellyjonbrazil/jc'
|
||||||
copyright = '© 2019-2022 Kelly Brazil'
|
copyright = f'{CPR} 2019-2022 Kelly Brazil'
|
||||||
license = 'MIT License'
|
license = 'MIT License'
|
||||||
|
|
||||||
|
|
||||||
@ -269,6 +277,7 @@ def json_out(data, pretty=False, env_colors=None, mono=False, piped_out=False):
|
|||||||
"""
|
"""
|
||||||
separators = (',', ':')
|
separators = (',', ':')
|
||||||
indent = None
|
indent = None
|
||||||
|
ascii = False if UTF_8_SUPPORT else True
|
||||||
|
|
||||||
if pretty:
|
if pretty:
|
||||||
separators = None
|
separators = None
|
||||||
@ -279,10 +288,10 @@ def json_out(data, pretty=False, env_colors=None, mono=False, piped_out=False):
|
|||||||
class JcStyle(Style):
|
class JcStyle(Style):
|
||||||
styles = set_env_colors(env_colors)
|
styles = set_env_colors(env_colors)
|
||||||
|
|
||||||
return str(highlight(json.dumps(data, indent=indent, separators=separators, ensure_ascii=False),
|
return str(highlight(json.dumps(data, indent=indent, separators=separators, ensure_ascii=ascii),
|
||||||
JsonLexer(), Terminal256Formatter(style=JcStyle))[0:-1])
|
JsonLexer(), Terminal256Formatter(style=JcStyle))[0:-1])
|
||||||
|
|
||||||
return json.dumps(data, indent=indent, separators=separators, ensure_ascii=False)
|
return json.dumps(data, indent=indent, separators=separators, ensure_ascii=ascii)
|
||||||
|
|
||||||
|
|
||||||
def magic_parser(args):
|
def magic_parser(args):
|
||||||
|
Reference in New Issue
Block a user