Merge pull request #19621 from stackstrap/develop

Adding Hjson renderer.
This commit is contained in:
Thomas S Hatch 2015-01-11 10:12:24 -07:00
commit b85999988b

34
salt/renderers/hjson.py Normal file
View 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)