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