mirror of
https://github.com/valitydev/salt.git
synced 2024-11-08 01:18:58 +00:00
Merge pull request #19621 from stackstrap/develop
Adding Hjson renderer.
This commit is contained in:
commit
b85999988b
34
salt/renderers/hjson.py
Normal file
34
salt/renderers/hjson.py
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
'''
|
||||||
|
Hjson Renderer for Salt
|
||||||
|
http://laktak.github.io/hjson/
|
||||||
|
'''
|
||||||
|
|
||||||
|
from __future__ import absolute_import
|
||||||
|
|
||||||
|
# Import 3rd party libs
|
||||||
|
try:
|
||||||
|
import hjson as hjson
|
||||||
|
HAS_LIBS = True
|
||||||
|
except ImportError:
|
||||||
|
HAS_LIBS = False
|
||||||
|
|
||||||
|
# Import salt libs
|
||||||
|
from salt.ext.six import string_types
|
||||||
|
|
||||||
|
|
||||||
|
def render(hjson_data, saltenv='base', sls='', **kws):
|
||||||
|
'''
|
||||||
|
Accepts HJSON as a string or as a file object and runs it through the HJSON
|
||||||
|
parser.
|
||||||
|
|
||||||
|
:rtype: A Python data structure
|
||||||
|
'''
|
||||||
|
if not isinstance(hjson_data, string_types):
|
||||||
|
hjson_data = hjson_data.read()
|
||||||
|
|
||||||
|
if hjson_data.startswith('#!'):
|
||||||
|
hjson_data = hjson_data[(hjson_data.find('\n') + 1):]
|
||||||
|
if not hjson_data.strip():
|
||||||
|
return {}
|
||||||
|
return hjson.loads(hjson_data)
|
Loading…
Reference in New Issue
Block a user