Skip to content

Commit

Permalink
Update __init__.py
Browse files Browse the repository at this point in the history
  • Loading branch information
anki-code authored Jul 19, 2024
1 parent ed29396 commit 2438495
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions xontrib/spec_mod/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,18 @@
Library of xonsh subprocess specification modifiers e.g. ``$(@json echo '{}')``.
"""
from xonsh.built_ins import XSH

try:
# xonsh == 0.17.0
from xonsh.procs.specs import SpecAttrModifierAlias as _mod
except:
# xonsh > 0.17.0
from xonsh.procs.specs import SpecAttrDecoratorAlias as _mod
except:
# xonsh == 0.17.0
from xonsh.procs.specs import SpecAttrModifierAlias as _mod

from xontrib.spec_mod.to_dict import load_as_dict

__all__ = ()

_imp = type('ImpCl', (object,), {'__getattr__':lambda self, name: __import__(name)})() # Sugar for inline import

#
# Format output
Expand All @@ -37,10 +38,10 @@ def _split_output(output_lines):
# Return object
#

XSH.aliases['@json'] = _mod({"output_format": lambda lines: _imp.json.loads('\n'.join(lines))}, "Return `json` output format.")
XSH.aliases['@json'] = _mod({"output_format": lambda lines: XSH.imp.json.loads('\n'.join(lines))}, "Return `json` output format.")
XSH.aliases['@dict'] = _mod({"output_format": lambda lines: load_as_dict('\n'.join(lines))['dict']}, "Return `dict` output format.")
XSH.aliases['@path'] = _mod({"output_format": lambda lines: _imp.pathlib.Path(':'.join(lines))}, "Return `path` output format.")
XSH.aliases['@yaml'] = _mod({"output_format": lambda lines: _imp.yaml.safe_load('\n'.join(lines))}, "Return `yaml` output format.")
XSH.aliases['@path'] = _mod({"output_format": lambda lines: XSH.imp.pathlib.Path(':'.join(lines))}, "Return `path` output format.")
XSH.aliases['@yaml'] = _mod({"output_format": lambda lines: XSH.imp.yaml.safe_load('\n'.join(lines))}, "Return `yaml` output format.")

#
# Error handling
Expand Down

0 comments on commit 2438495

Please sign in to comment.